"Zwei Frames gleichzeitig ändern" (siehe FAQs)
Matze
- javascript
Hallo,
ich habe ein Frameset (bestehend aus drei Frames) und möchte erreichen, dass sich beim Klicken auf einen Link im ersten Frame die beiden anderen Frames gleichzeitig ändern. (Das entspricht dem in den FAQs aufgeführten Artikel "Zwei Frames geleichzeitig ändern", der unter der Adresse http://de.selfhtml.org/javascript/beispiele/zweiframes.htm nachzulesen ist.)
Die in diesem Artikel beschriebene Vorgehensweise funktioniert bei vielen Website-Besuchern aber nicht. Die gleichzeitige Änderung der beiden Frames wird (wie bei Popups) geblockt; wahrscheinlich, weil der Popupblocker aktiviert ist.
Gibt es eine andere Möglichkeit, zwei Frames gleichzeitig zu ändern (ohne Popup und OHNE Deaktivierung des Popupblockers)? Wenn ja, wie könnte man das realisieren?
Vielen Dank für jede Hilfe.
Gruß, Matze
Hallo Matze,
ich habe ein Frameset (bestehend aus drei Frames) und möchte erreichen, dass sich beim Klicken auf einen Link im ersten Frame die beiden anderen Frames gleichzeitig ändern. (Das entspricht dem in den FAQs aufgeführten Artikel "Zwei Frames geleichzeitig ändern", der unter der Adresse http://de.selfhtml.org/javascript/beispiele/zweiframes.htm nachzulesen ist.)
Die in diesem Artikel beschriebene Vorgehensweise funktioniert bei vielen Website-Besuchern aber nicht. Die gleichzeitige Änderung der beiden Frames wird (wie bei Popups) geblockt; wahrscheinlich, weil der Popupblocker aktiviert ist.
Kann ich mir nicht vorstellen - es wird eine gänzlich andere Methode verwendet, um dies zu bewerkstelligen. Es wird in dem Beispiel nämlich parent[Framename].location.href = URI;
ausgeführt - was definitiv nichts mit window.open()
zu tun hat. Ferner funktioniert der Code bei mir im Firefox mit aktiviertem Popup-Blocker problemlos. Auf welchen Rechnern mit welchem Browser mit welchen Einstellungen tritt das Problem denn auf? Ist da evtl. JavaScript komplett deaktiviert bzw. wird das komplett durch einen Proxy o.ä. rausgefiltert?
Viele Grüße,
Christian
Hallo Christian,
danke für die schnelle Antwort. Der Browser ist der IE 6.0. Auf den Rechnern ist meistens WinXP, manchmal auch Win2000. Das JavaScript ist eingeschaltet (zumindest weiß ich das von ein paar Besuchern). Allerdings weiß ich nicht, was hier mit Proxy o.ä. gemeint ist.
Viele Grüße,
Matthias
Hallo Matthias,
danke für die schnelle Antwort. Der Browser ist der IE 6.0. Auf den Rechnern ist meistens WinXP, manchmal auch Win2000. Das JavaScript ist eingeschaltet (zumindest weiß ich das von ein paar Besuchern).
Nachdem IE 6.0 keinen eingebauten Popup-Blocker hat, ist es wohl ein externes Produkt. Dieses scheint das Frame-Ändern-JavaScript aus der Seite zu entfernen, bevor es den Internet Explorer erreicht (der Code selbst geht nämlich im IE sofern JavaScript aktiviert ist). Zumindest ist das die einzige Erklärung für die Sympthome (es sei denn Du verschweigst mir die Begleitumstände - haben Deine Besucher eigentlich mal das Beispiel von SELFHTML ausprobiert?). Da diese Popup-Blocker wohl erst Recht window.open() herausfiltern werden, sind Dir die einzigen Möglichkeiten genommen, Frames mit JavaScript zu ändern, genommen. Die einzige Möglichkeit, die Du dann noch hast, wäre für jede mögliche Kombination ein eigenes Frameset anzulegen und dieses aufzurufen. Andererseits würde ich persönlich Dir raten, dass falls die Popup-Blocker *wirklich* diesen Code herausfiltern, diese Software einfach auf den Müll zu schmeißen (bzw. Deinen Besuchern raten, das zu tun) - denn Frames ändern verhindern gehört wirklich nicht zu dem, was man bei so einem Produkt erwartet.
Bevor Du jedoch voreilige Schlüsse ziehst, wäre es evtl. ganz hilfreich, die Seite zu sehen, bei der das auftritt, vielleicht hast Du ja auch bloß einen kleinen Fehler gemacht, der genau dann in Erscheinung tritt.
Allerdings weiß ich nicht, was hier mit Proxy o.ä. gemeint ist.
Proxy ist ein Stück Software, dass eine Anfrage vom Browser entgegen nimmt und sie an den richtigen Server weiterreicht. Proxies werden oft in Unternehmen o.ä. eingesetzt als zentraler "Ausgang" ins Internet. Es gibt allerdings auch Proxies, die auf dem gleichen Rechner laufen, wie der Browser. Verschiedene Tools wie Antivirus-Programme o.ä. nutzen diese Möglichkeit, um die Kommunikation zwischen Browser und Server beeinflussen zu können - und externe (nicht in den Browser integrierte) Popup-Blocker funktionieren vermutlich (ich hab sowas nie probiert, ich nutze zum normalen Surfen Firefox) ähnlich.
Viele Grüße,
Christian