PDA

Volledige versie bekijken : gek probleempje > herpositionering item na 'nieuw tabblad' in browser


KsChoice
%Europe/Berlin %576 %2008, 14:50
Wie kan me helpen bij hetvolgende gekke probleempje :

Ik heb een menuvlak (breedte : Stage.width / hoogte : 35 pixels) dat tegen de onderzijde van het browservenster kleeft. Wanneer ik mijn site open is dit perfect ok. Druk ik echter in de browser op 'nieuw tabblad' (of open ik vanuit de site een externe url) dan verdwijnt in mijn site-venster het menuvlak.

'k Heb een en ander even uitgezocht > door het openen van een nieuw tabblad komt er in de browser bovenaan een tabbladensectie bij > die neemt de nodige plaats in waardoor het browservenster verticaal enkele tientallen pixels verkleint > al mijn sitecontent schuift hierdoor mee naar beneden ...

De browser herkent/ziet dit blijkbaar niet als een Stage.resize > mijn scriptje om de verschillende elementen weer op zijn plaats te zetten werkt niet ...

Iemand raad hoe ik dit toch op een of andere manier kan ondervangen ???

THX

Jan
%Europe/Berlin %561 %2008, 14:28
Ook in javascript wordt het onResize event niet herkend bij het maken van een nieuwe tab. Dus daarop kan je je ook al niet verlaten.
Het enige dat ik zo dadelijk kan bedenken is om in javascript in een interval voortdurend te checken of de size verandert en indien dat het geval is, dan een functie in flash aanroepen die je normaal gezien zou gebruiken voor je Stage.onResize.
Nadeel hiervan is een voortdurend lopend interval ipv een mooiere event based solution(onResize).
Voorbeeld van script dat aangeeft wanneer een tab aangemaakt wordt en hierdoor eigenlijk een onResize event zou moeten getriggerd worden:

<html>
<head>
<script>
//------------------------------------------------------
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
function pageWidth()
{
return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
}

function pageHeight()
{
return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
}
//end copyright
//------------------------------------------------------

function startSize()
{
scrH=pageHeight();
scrW=pageWidth();
}

function checkSize()
{
if(pageHeight()!=scrH || pageWidth()!=scrW)
{
alert("call actionscript Stage.onResize function");
}
scrH=pageHeight();
scrW=pageWidth();
}

function checken()
{
startSize();
setInterval("checkSize()",1);
}

</script>
</head>
<body onLoad="checken()">
<p>Create a second Tab</p>
</body>
</html>


Groeten,
http://users.telenet.be/jansurf/cwo.png Jan

PS: Eigenaardig(?) genoeg wordt het onResize event bij het aanmaken van een nieuwe tab wel herkend als het browserscherm niet gemaximaliseerd is in windows. (getest in javascript, niet in actionscript)

KsChoice
%Europe/Berlin %807 %2008, 20:22
mmm... fijn bedacht > ik probeer het asap uit !
thx voor je input