J'ai un objet flash dans ma page que je veux faire aussi grand que possible. La page est à peu près vide, sauf pour une chose: une barre en haut.Mon <object> ignore la hauteur de ses parents
Html:
<head>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
// setting flashvars, params, attributes
//...
// adding swf
swfobject.embedSWF("myflash.swf", "myAlternativeContent", "100%", "100%", "9.0.114", "swfobject/expressInstall.swf", flashvars, params, attributes);
</script>
</head>
<body>
<div id='banner'>
this is random text, could be an image, could be a menu, with a certain random height i cannot predict
</div>
<div>
<div id="myAlternativeContent">
</div>
</div>
</body>
Quand je l'ai vue cette page dans IE 8, l'objet flash a en effet une hauteur de 100%, mais il est de la fenêtre du navigateur, et non de la div parent. Cela signifie que je reçois une barre de défilement verticale et si je la fais défiler, le flash remplit toute la fenêtre. Ce n'est pas ce que je veux. Je veux que la page n'ait pas de barre de défilement, et que le flash ait la hauteur du reste de la fenêtre.
J'ai essayé cette solution avec javascript (après la div de fermeture):
<script language="javascript" type="text/javascript">
function getWindowHeight() {
// by http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
var myHeight = 0;
if(typeof(window.innerWidth) == "number") {
//Non-IE
myHeight = window.innerHeight;
} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6+ in "standards compliant mode"
myHeight = document.documentElement.clientHeight;
} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4 compatible
myHeight = document.body.clientHeight;
}
return myHeight;
}
var otherheight = document.getElementById("banner").offsetHeight;
document.getElementById("myAlternativeContent").parentNode.style.height = (getWindowHeight() - otherheight) + "px";
</script>
Mais je vois que même si la hauteur de la div parent se voit affecter la quantité correcte, l'objet flash ignore complètement et ne redessine pas ou quoi que ce soit, et garde juste sa joyeuse taille.
Comment puis-je accomplir ce que je veux faire? Aucune barre de défilement, une bannière sur le dessus, puis le reste de la fenêtre remplie de mon objet flash?
ooh il a fallu un peu de réécriture dans mes fonctions php qui produisent le html, mais ça valait le coup, parce que cela fonctionne, et dans tous les navigateurs que j'ai testé aussi. Merci! – Tominator
Vous êtes les bienvenus :) – Basic