OVH Cloud OVH Cloud

Re: OnResize ignoré par FIREFOX (au secours je bloque!!!)

1 réponse
Avatar
zobmac
YD merci beaucoupde ton aide.
Malheureusement ça n'a pas marché mais c'est peut-être car comme je suis un gros nulos de sous-débutant je n'ai pas su comment placé ton script. Je te copie donc le code généré par dreamweaver(calque vert dans la page avec comportement "center layers" pour le centrer dans la page) Il marche avec FIREFOX et les autres mais FIREFOX est le seul (contrairement a IE, netscape et safari) qui ne recentre pas lors d'un redimensionnement de la fenêtre (OnResize=reload si j'ai bien compris le jargon du truc)
donc j'aimerai savoir où placer ton code exactement et est-ce que je répète <script type="text/javascript"> et </script> qui sont déjà là....
merci encore et pardon d'être si nul, mais il faut bien débute
ZM (dreamweaver 6, mac os 10.3.9


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html
<head
<title>Document sans titre</title
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
<script language="JavaScript" type="text/JavaScript"

function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length)
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document)
if(!x && d.getElementById) x=d.getElementById(n); return x


function BW_reload() {location.reload();

function BW_centerLayers() { //v4.1.
if (document.layers || document.all || document.getElementById)
var winWidth, winHeight, i, horz, vert, width, height, offsetX, offsetY, negX, negY, group, x, y, args
args = BW_centerLayers.arguments

onresize = BW_reload


winWidth = (document.all)?document.body.clientWidth:window.innerWidth
winHeight = (document.all)?document.body.clientHeight:window.innerHeight

for (i=0; i<(args.length-9); i+=10)
horz = args[i+1]
vert = args[i+2]
width = parseInt(args[i+3])
height = parseInt(args[i+4])
offsetX = parseInt(args[i+5])
offsetY = parseInt(args[i+6])
negX = args[i+7]
negY = args[i+8]

x = ((winWidth - width)/2) + offsetX
y = ((winHeight - height)/2) + offsetY

x = (negX=='false' && (x < 0))?0:x
y = (negY=='false' && (y < 0))?0:y

layerObj = (document.getElementById)?document.getElementById(args[i]):MM_findObj(args[i])

if (layerObj!=null)
layerObj = (layerObj.style)?layerObj.style:layerObj
layerObj.left = (horz=="true")?x:layerObj.left
layerObj.top = (vert=="true")?y:layerObj.top





</script
</head

<body onLoad="BW_centerLayers('Layer1','true','true','671','380','0','0','false','false','false')"
<div id="Layer1" style="position:absolute; left:51px; top:44px; width:671px; height:380px; z-index:1; background-color: #00CC33; layer-background-color: #00CC33; border: 1px none #000000;"></div
</body
</html

--
zobmac

-----------------------------------------------------------------------
Voir theme: http://www.frbox.net/viewtopic-505446.htm

Envoyé de http://www.frbox.ne

1 réponse

Avatar
YD
Malheureusement ça n'a pas marché mais c'est peut-être car comme je suis un gros nulos de sous-débutant je n'ai pas su comment placé ton script. Je te copie donc le code généré par dreamweaver(calque vert dans la page avec comportement "center layers" pour le centrer dans la page) Il marche avec FIREFOX et les autres mais FIREFOX est le seul (contrairement a IE, netscape et safari) qui ne recentre pas lors d'un redimensionnement de la fenêtre (OnResize=reload si j'ai bien compris le jargon du truc).
donc j'aimerai savoir où placer ton code exactement et est-ce que je répète <script type="text/javascript"> et </script> qui sont déjà là.....


Repère cette ligne dans le code de DW :

function BW_reload() {location.reload();}

et remplace-la avec :

function BW_reload() {
if(window.resizeTimeout)
window.clearTimeout(window.resizeTimeout);
window.resizeTimeout=setTimeout("location.reload()",50);
}

Si tu trouves que cela donne un résultat moins bon qu'avant
avec IE, tu peux ajouter, juste après les lignes ci-dessus, le
code suivant qui ne sera interprété que par IE et qui rétablit
l'ancien comportement, pour IE seulement donc :

/*@cc_on function BW_reload() {location.reload();} @*/

--
Y.D.