Problem mit dem Verlinken von Ankern, die in einem Iframe liegen

bitworker

Mitglied
Hallo,

ich habe ein Problem mit dem Verlinken von Ankern, die in einem Iframe liegen.

Wenn die Hauptseite im Browser aufgerufen ist in dem der Iframe liegt kann ich den Anker mit folgendem Code aufrufen:
HTML:
<a href="#" onclick="parent.iframename01.location.href='extern01.html#anker';">

Aber wenn man von einer anderen HTML-Seite auf den Anker zugreifen möchte, funktioniert das nicht.

(Aufgerufen werden soll die Hauptseite und darin eingebettet der Iframe und dort der Ankerpunkt)

Wie muss der Code abgeändert werden? Irgenwas mit window?!

Wer kann helfen ?

Gruss

bitworker
 
Hi,

du kannst mit JavaScript nur auf Dateien zugreifen, die sich innerhalb der gleichen Domain befinden. Das ist eine Sicherheitsrichtlinie in JS - Richtlinie der gleichen Herkunft (same-origin policy).

Ciao
Quaese
 
Moin,

könntest du das bitte ein wenig näher erläutern?

Ich hab das so verstanden:
  • Es gibt einen Link auf Seite A.
  • Dieser führt zu Seite B
  • in Seite B ist ein iFrame mit Seite C(von anderer Domain als Seite B)
  • wenn Seite B nun aufgerufen wird, soll in dem iFrame dort drinnen Seite C erscheinen(und dort automatisch zu dem Anker gesprungen werden )

Falls so recht verstanden, noch 3 Fragen:
  1. in diesem iFrame dort, erscheint dort immer Seite C(egal von wo/wie Seite B aufgerufen wird)?
  2. falls ja, soll dort immer zu dem Anker gesprungen werden(egal von wo/wie Seite B aufgerufen wird)?
  3. falls nein, ist Seite B deine Seite, und hast du dort eine serverseitige Sprache wie bspw. PHP verfügbar?

Fragen über Fragen :)
 
Hallo,

vielen Dank für die Antworten.

Sämtliche HTML-Seiten liegen im gleichen Verzeichnis unter einer Domain.

@Sven: Problem genauso wie du beschrieben hast (jedoch alles eine Domain):

- Es gibt einen Link auf Seite A.
- Dieser führt zu Seite B
- in Seite B ist ein iFrame mit Seite C
- wenn Seite B nun aufgerufen wird, soll in dem iFrame dort drinnen Seite C erscheinen(und dort automatisch zu dem Anker gesprungen werden )

Bei oben stehendem Code passiert auf Seite A garnichts (auf Seite B führt der Link zum korrekten Anker).
Lösung falls möglich nicht in PHP (als Notlösung jedoch auch :suspekt:)...

Gruss

bitworker
 
Und soll in dem iFrame immer zu diesem Anker in Seite gesprungen werden, oder nur, wenn Seite B von diesem speziellen Link in Seite A aus aufgerufen wird?
 
Hi,

vielleicht wäre ein dynamisches Auswerten der übergebenen Anker in Dokument B möglich.
Code:
window.onload = function(){
  if(location.hash.length != 0){
    self.iframename01.location += (location.hash.substr(0,1)=="#")? location.hash : ("#"+location.hash);
  }
}
Ciao
Quaese
 
...sorry für meine Doofheit ;)

Und soll in dem iFrame immer zu diesem Anker in Seite C gesprungen werden, oder nur, wenn Seite B von diesem speziellen Link in Seite A aus aufgerufen wird?

Ja, es soll immer dorthin gesprungen werden, also von Seite A aus und auch von Seite B aus.

Allerdings gibt es mehrere Anker in Seite C (die angesprungen werden sollen)...
 

Neue Beiträge

Zurück