Serge Ratke: location ist gesperrt

Hi Leutz,

Problem:
 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?

  1. Hallo Serge,

    lass mal das document weg. location ist kein document-Objekt, sondern gehört eigentlich zu window.

    Hier müsste es also

    parent.navilinks.location = text1;

    usw. heißen.

    Viele Grüße
    Ben

    --
    Phantasie ist wichtiger als Wissen. - Albert Einstein
  2. 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)
    1. Da hast du völlig recht, dass die seite nicht auf demselben Server ist. Danke für die Tipps. Aber das alles auf dem gleichen Server liegt klappt nicht. Trotzdem ... nach der Änderung der javascript anweisung, hat alles wunderbar geklappt.

      Nochmal Danke für die Hilfe