Witam , mam taki skrypt ktory powoduje wyswietlenie swf zawsze na dole ekranu oraz przewija go razem ze strona. Problem w tym ze jesli go dam gdzies w sekcji head albo body to widac, ze skrypt nie obliczyl sobie wartosci polozenia i tym samym swf ma poloznie nie takie jak trzeba i nie jest scrollowany. Jesli dam go przed tagiem <html> wsio jest ok. O co tu biega ?
<?php
<script language=javascript>
var adsImg="baner.swf";
var adsHref="http://www.strona.pl/";
var adHeight= 30;
var adsWidth= 1280;
var adContent='<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" ID="DUGWQUZRJLCLERBKZRIBMXYCRXXTRK" width="'+adsWidth+'" height="'+adHeight+'">';
adContent+='<param name=movie value="'+adsImg+'?clickTag='+adsHref+'"><param name=quality value=high><param name=wmode value=opaque><param name="menu" value="false">';
adContent+='<embed wmode=transparent NAME="DUGWQUZRJLCLERBKZRIBMXYCRXXTRK" ID="DUGWQUZRJLCLERBKZRIBMXYCRXXTRK" src="'+adsImg+'?clickTag='+adsHref+'" quality=high swLiveConnect=true pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="'+adsWidth+'" height="'+adHeight+'"></embed></OBJECT>';
var iedom=document.all||document.getElementById;
var aWidth='';
var sfContainer;
if (iedom) {
document
.write
('<div id="adContainer" style="visibility:hidden; overflow:hidden; position:absolute; height:'+eval(adHeight
+15)+'px">');document.write('<div align=right><img style="cursor: pointer" src="scrollfooter_FLASH_Zamknij.gif" width="14" height="14" border="0" onclick="hide()"></div>');
document.write('<div id=adLayer0 align=right>'+adContent+'</div></div>')
}
function FixPositionAd(){
aWidth=document.body.clientWidth;
sfContainer.style.width=aWidth;
sfContainer.style.left=0;
sfContainer.style.top=document.body.scrollTop+document.body.clientHeight-adHeight-15
}
function InitializeAd() {
sfContainer=document.getElementById?document.getElementById("adContainer") : document.all.adContainer
FixPositionAd();
sfContainer.style.visibility='visible';
}
function hide(){
if (sfContainer) sfContainer.style.visibility='hidden';
}
if (iedom) {
if (window.attachEvent) {
window.attachEvent("onscroll", FixPositionAd);
window.attachEvent("onresize", FixPositionAd);
window.attachEvent("onload",InitializeAd);
} else {
window.onscroll=FixPositionAd;
window.onresize=FixPositionAd;
window.onload=InitializeAd
}}
</script>
?>
ok wylapalem o co chodzi,
pierwotnie mialem:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
gdy zmienilem tag na:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
wszystko bylo ok i skrypt moglem odpalac w dowolnym miejscu, tyle ze czcionka standartowa jest jakas wieksza o 3 px , dlaczego ? w css mam zapisane ze body, html maja miec czcionke o wymiarze 9 px a tu widze po zmianianie tagu czcionke standartowo 12px. Czemu tak ?