URL eines anderen Frames ausfindig machen als in dem aktuellem
Nane
- javascript
0 Christian Seiler
Hallo!
Ich hab jetzt schon die ganze Zeit versucht und versucht....
Also nu ma zu meinem Probelm:
Ich arbeite mit Frames.
Wenn ich jetzt in einem Frame eine neue Datei laden will, kann ich das ja ganz einfach mit
parent.DerAndereFrame.location.href="URL";
Ich möchte jetzt gerne beim Laden einer Datei prüfen, ob in einem anderen Frame eine bestimmt Datei geladen ist....
Also, ich sage im body bei onLoad(), dass er ne Function aufrufen soll. Soweit so gut, doch mit if(parent.DerAndereFrame.location.href == "URL") gehts nicht!!
Aber wie dann?
Hallo Nane,
Also, ich sage im body bei onLoad(), dass er ne Function aufrufen soll. Soweit so gut, doch mit if(parent.DerAndereFrame.location.href == "URL") gehts nicht!!
Doch, das geht. Nur hat der Browser immer die wirklich absolute URL in location.href drinnen stehen. Gib' das mal mit alert() aus und Du wirst sehen, was genau da drin steht. Du must im Prinzip nichts anderes tun, als zu prüfen, parent.DerAndereFrame.location.href mit Deiner URL *aufhört*. (Siehe dazu das string-Objekt in SELFHTML)
Grüße,
Christian
Hallo Christian!!
Mein Problem hat sich erübrigt.... :-(
Bei mir war alles richtig, hab einfach mal ein anderes Frame angegeben und es ging.
Die Datei die ich abfragen will, ist geschützt, und deswegen kann ich nicht darauf zugreifen.... *heul*
Naja, trotzdem danke :-)
AHHHHH!!!
Ich muss aber darauf zugreifen!!
Okay, ich hab da noch ne Alternative!!
Wie kann ich von einer anderen URL, also komplett andere Seite, auf ein Frame einer anderen Page zugreifen??
Du meinst auf eine andere IP-Adresse/Server?
Gar nicht, ich hab's mal probiert, aber irgendwann wird dir der IE eine nette kleine Fehlermeldung namens 'Erlaubnis verweigert' entgegenwerfen und dir damit mitteilen, dass er dich nicht an ein fremdes Frame heranlässt.
Ich hab das dann mit einer Weiterleitung gelöst, weil ich auf beide Sachen Zugriff hatte...
Naja, als Beispiel die URL = http://www.test.de
Kann man da irgendwie auf das Frame Test zugreifen??
Oder gibt es eine Abfrage mit isLoad??
morgens,
Naja, als Beispiel die URL http://www.test.de
Kann man da irgendwie auf das Frame Test zugreifen??
freundliche Seite, aber ich sehe da mit meinem Standard-Browser (Konqueror) keine Frames ...
Grüße aus Berlin
Christoph S.
morgens,
Naja, als Beispiel die URL http://www.test.de
Kann man da irgendwie auf das Frame Test zugreifen??
freundliche Seite, aber ich sehe da mit meinem Standard-Browser (Konqueror) keine Frames ...
Da sind auch keine, das war eine Beispielseite!
Also, man stelle sich vor. man habe ein Seite die da heißt http://www.test.de ..... ok?
Grüße aus Berlin
Christoph S.
Moin!
morgens,
Naja, als Beispiel die URL http://www.test.de
Kann man da irgendwie auf das Frame Test zugreifen??
freundliche Seite, aber ich sehe da mit meinem Standard-Browser (Konqueror) keine Frames ...Da sind auch keine, das war eine Beispielseite!
Also, man stelle sich vor. man habe ein Seite die da heißt http://www.test.de ..... ok?
Du wirst vor einem unlösbaren Problem stehen: Wenn dein Frameset und dein Javascript von Server A kommen, dann kannst du aufgrund des Javascript-Sicherheitsmodells nicht auf URLs zugreifen, die von Server B kommen. Du kannst zwar URLs auf fremden Servern aufrufen, indem du der Eigenschaft location.href eine URL zuweist, aber du kannst nicht mehr nachgucken, welche URL in diesem Frame geladen ist, weil der Lesezugriff nur erlaubt ist, wenn die URL vom gleichen Server kommt wie das Javascript (im Beispiel eben Server A).
Wenn du dennoch auf fremde URLs zugreifen willst, dann stimmt was an deinem Konzept nicht - sorge dafür, dass alle URLs vom gleichen (nämlich deinem) Server kommen. Dazu gibts reichlich Möglichkeiten, die allerdings allesamt serverseitige Maßnahmen erforderlich machen - alle verursachen dir rechtliche Probleme, wenn du auf diese Weise Seiten duplizierst, die nicht von dir selbst stammen, bzw. zu deren Einbindung man dir keine Genehmigung gegeben hat.
- Sven Rautenberg