erlaubnis verweigert bei location.reload
dietmar mueller
- javascript
0 Phil0 dietmar mueller0 Phil
Liebes Forum,
wir haben eine Seite mit Frameset. Da wir das Sessiontracking mit der Session in der URL durchführen kommen viele Einträge in die Historie. Wird dann eine Seite aus der Historie aufgerufen, kann es natürlich sein, daß das Framset fehlt.
Für diesen Fall habe ich nach dem Frame abgefragt und gegebenfalls das Frame nachgeladen.
Code:
<script language="JavaScript">
{
if(!parent.sidebar)
{
location.reload("http://my_domain/business/main.main");
}
}
</script>
Aber beim IE bekomme ich ein "Erlaubnis verweigert" obwohl ich mich in der selben Domain befinde. Ich habe auch relative Pfade verwendet, aber das hilft nichts.
Ich teste mit 6.0 (hoffentlich letzter Patch) auf NT.
Beim Mozilla 1.7 komme ich in eine Endlosschleife, da das Reload die aktuelle Seite aufruft, anstatt der lt. Parameter.
Irgendwelche Ideen?
Jeder Hinweis ist willkommen
lg Dietmar
ps.: mir gefällt die Abfrage nach dem Frameset mit if(!parent.sidebar) nicht, aber es geht und erfüllt die Bedingung.
Hi,
also wenn du mal hier nachguckst: http://de.selfhtml.org/javascript/objekte/location.htm#reload
siehst du, dass location.reload garkeine Parameter nimmt. wie wärs mit location.replace("URL") oder location.href = "URL" ?
Gruß
Phil
Danke,
das war die Ursache.
Interessant ist jedoch die unterschiedliche Auswirkung vom Fehler. IMHO würde ich eine JS Fehlermeldung erwarten.
Mozilla bringt keine Fehlermeldung und ignoriert den Parameter. IE6 bringt eine Fehlermeldung und wenn man diese akzeptiert und reloadet, dann macht der IE einen reload auf den Parameter.
lg Dietmar
Hi,
also wenn du mal hier nachguckst: http://de.selfhtml.org/javascript/objekte/location.htm#reload
siehst du, dass location.reload garkeine Parameter nimmt. wie wärs mit location.replace("URL") oder location.href = "URL" ?Gruß
Phil
Hi,
in dem moment, wo Gecko nix macht, und IE wenigstens irgendwas in die richtige Richtung, kannst du davon ausgehen, dass der IE sich falsch verhält, und du nen Fehler gemacht hast ;-)
Gruß
Phil