Buongiorno a tutti!
Mi sono trovato a dover fare delle modifiche a una pagina che conteneva
questo script:
-----------------------------------------------------------------------
<SCRIPT>
var nav = (document.layers);
var iex = (document.all);
var skn = (nav) ? document.topdeck : topdeck.style;
if (nav) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = get_mouse;
function pop(msg,bak)
{
var content ="<TABLE WIDTH=150 BORDER=0 CELLPADDING=2 CELLSPACING=0
BGCOLOR=#9b9bce><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0
CELLSPACING=0><TR><TD><CENTER><FONT COLOR=#FFFFFF SIZE=2><B>Detailed
Info</B></FONT></CENTER></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0
CELLPADDING=2 CELLSPACING=0 BGCOLOR="+bak+"><TR><TD align=left><FONT
COLOR=#000000
SIZE=2>"+msg+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";
if (nav)
{
skn.document.write(content);
skn.document.close();
skn.visibility = "visible";
}
else if (iex)
{
document.all("topdeck").innerHTML = content;
skn.visibility = "visible";
}
}
function get_mouse(e)
{
var x = (nav) ? e.pageX : event.x+document.body.scrollLeft;
var y = (nav) ? e.pageY : event.y+document.body.scrollTop;
skn.left = x - 60;
skn.top = y+20;
}
function kill()
{
skn.visibility = "hidden";
}
</SCRIPT>
--------------------------------------------------------------------
Ovviamente è stato progettato solo per IE e Netscape, ma avevo trovato
qualche indicazione (qualcuna proprio su questo NG) a propoito del fatto
che FireFox supporta document.all ... Allora l'ho modificato
appositamente perchè funzioni anche sotto firefox ma... Niente, non
funziona.
In particolare, ho provato con un:
var ffx = (document.all);
alert (ffx);
Ma all'avvio della pagina l'alert di FireFox mi dice 'undefined'.
Però ho risolto la questione facendo così:
--------------------------------------------------------------------
<SCRIPT>
var nav = (document.layers);
var iex = (document.all);
if (!nav && !iex) var ffx = 1;
var skn = (nav) ? document.topdeck : topdeck.style;
if (nav) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = get_mouse;
function pop(msg,bak)
{
var content ="<TABLE WIDTH=150 BORDER=0 CELLPADDING=2 CELLSPACING=0
BGCOLOR=#9b9bce><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0
CELLSPACING=0><TR><TD><CENTER><FONT COLOR=#FFFFFF SIZE=2><B>Detailed
Info</B></FONT></CENTER></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0
CELLPADDING=2 CELLSPACING=0 BGCOLOR="+bak+"><TR><TD align=left><FONT
COLOR=#000000
SIZE=2>"+msg+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";
if (nav)
{
skn.document.write(content);
skn.document.close();
skn.visibility = "visible";
}
else if (iex)
{
document.all("topdeck").innerHTML = content;
skn.visibility = "visible";
}
else if (ffx)
{
document.all("topdeck").innerHTML = content;
skn.visibility = "visible";
}
}
function get_mouse(e)
{
var x = (nav) ? e.pageX : event.x+document.body.scrollLeft;
var y = (nav) ? e.pageY : event.y+document.body.scrollTop;
skn.left = x - 60;
skn.top = y+20;
}
function kill()
{
skn.visibility = "hidden";
}
</SCRIPT>
--------------------------------------------------------------------
Quindi, se è definito document.layer segue nav, se è definito
document.all segue ie, se non trova nessuno imposta ffx a 1.
Ma a quel punto, se non ha trovato document.all, com'è che questo
funziona?
else if (ffx)
{
document.all("topdeck").innerHTML = content;
skn.visibility = "visible";
}
Grazie mille dell'attenzione,
--
dorje
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG