Sven Rautenberg: location ist gesperrt

Beitrag lesen

Moin!

Beim Versuch einem Frame "main" eine Url zuzuweisen tritt folgender javascript Fehler auf:
 Zugriff wurde verweigert. --> Hier tritt der Fehler auf.

function link3(text1, text2, text3) {
  parent.navilinks.document.location = text1;
 --> parent.main.document.location = text2;
  parent.bottom.document.location = text3;
 }

Woran kann es liegen?

Du hast drei Probleme.

1. Wie Ben schon ganz richtig sagt: location ist ein Subobjekt von window, nicht von document.
2. Es heißt location.href, nicht nur location. Dass es der IE trotzdem richtig versteht, ist bedauerlich - alle anderen Browser kacken bei dieser Anweisung ab.
3. Die Meldung "Zugriff verweigert" bedeutet, dass in dem Frame eine Seite geladen ist, die nicht von deiner Domain kommt. Diese Meldung kann nicht umgangen werden, sie ist elementarer Bestandteil der "Same-Origin-Policy" von Javascript. Sorge dafür, dass alle deine Frameseiten von ein-und-derselben Domain geladen werden, und du hast das Problem nicht mehr.

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)