Mám zvláštní problém s JavaScriptem pomocí window.location.href
, což se zjevně týká pouze Firefoxu (používám 3.6).
Obvykle window.location.href
nebude pouze pro čtení a ve Firefoxu to funguje perfektně:
window.location.href = "http://google.com/";
Když však zavolám funkci jako odpověď na onunload
událost (<body onunload="testThis();">
), toto nefunguje podle očekávání:
function testThis() { alert ("1: " + window.location.href); window.location.href = "http://google.com/"; alert ("2: " + window.location.href); return false; }
V obou případech výstraha zobrazuje aktuální umístění stránky ve Firefoxu, aniž by byla provedena změna. Neexistují žádné chyby JavaScriptu a onunload
událost úspěšně volá funkci, takže se zdá, že problém spočívá v úpravě nebo nahrazení hodnoty window.location.href
.
Zkoušel jsem použít window.location
, document.location.href
, dokonce se pokusil změnit window.location.search
. Je možné, že událost, konkrétně onunload
událost způsobí window.location.href
stát se pouze pro čtení?
Odpověď
Ano, chcete-li zabránit tomu, aby škodlivé webové stránky blokovaly uživatele v odchodu.