Linuchs: location.href vom iframe

Moin,

in einem Liederbuch sind die einzelnen Lieder als iframe eingebunden.

JS des iframe gibt Meldungen aus console.log ( location.href +"..." ) damit ich weiß, welcher iframe meldet.

Fehlermeldung:

Uncaught DOMException: Permission denied to get property "href" on cross-origin object

Das übergeordnete Dokument will ich ja gar nicht ansprechen. Wie kann JS innerhalb des iframe location.href des iframe erkennen?

  1. Dieses Problem tritt nur lokal auf, im Web stammen Hülle und iframes von derselben Domain.

    1. Hallo Linuchs,

      bei mir (probiert mit FF und Chrome unter Windows 10) tritt das Problem auch lokal nicht auf. Ich kann die href sowohl vom Frame als auch vom Parent auslesen. Also im Frame die vom Frame, und im Parent die vom Parent.

      Wenn ich im Frame die location.href des Parent lesen will, greifen Cross Origin Regeln.

      Entweder ist es Linux- (oder Linuchs)-spezifisch oder ich habe irgendwo was eingestellt (ohne es zu bemerken), was Restriktionen lockert.

      Ich habe es auch mit

      <iframe sandbox="allow-scripts" ...>

      Das erzeugt (weil der Sandbox allow-same-origin fehlt) strikte Cross Origin Wände und dann kann ich auch bei same origin nicht mehr auf parent.location.href zugreifen. window.location.href ist aber nach wie vor unproblematisch.

      Rolf

      --
      sumpsi - posui - obstruxi
    2. Hallo Linuchs,

      ist location bei Dir irrtümlich eine Variable, die die Parent-Location enthält? Passiert bei Verwendung von window.location oder document.location das Gleiche?

      Rolf

      --
      sumpsi - posui - obstruxi