| HTML, JavaScript, AJAX und CSS Probleme mit HTML? Netscape oder IE funktionieren nicht so, wie sie sollen? Stellt eure HTML-Fragen hier im Forum und diskutiert eure Probleme mit anderen Entwicklern. |
 |

06-04-2011, 16:18
|
|
till.kaufmann
Registrierter Benutzer
|
|
Registriert seit: Jul 2006
Beiträge: 34
|
|
Event Triggern wenn in IFrame neue Seite geladen wird
Hallo Leute,
ich arbeite gerade daran ein paar alte Seiten in eine neue Homepage einzubinden. Die alten Seiten werden über ein IFrame eingebunden.
Per JavaScript wird an die URL immer der Dateiname, der aktuell im IFrame angezeigten Seite, als Hash angehängt.
Die Seite mit dem IFrame ist die index.php. Wenn ich nun im IFrame
zur alten Unterseite "alteseite.html" navigiere, lautet die URL im Browser
http://..../index.php#alteseite.html
Damit das mit dem Zurück Button klappt wenn ich durch die Seiten im IFrame navigiere, muss ich dazu immer überprüfen ob der Hash in der Adresszeile, mit der im IFrame geladenen Seite übereinstimmt.
Falls nicht, wird die Seite geladen, welche in der URL steht.
Problem, der Code, welche den Hash in der Adresszeile ändert, wird mittels onLoad Event des IFrames getriggert. Also erst wenn die Seite im IFrame vollständig geladen hat.
Wenn die Seite allerdings sehr groß ist, und zum laden länger als 1,5 Sekunden braucht (Intervall in dem geprüft wird, ob IFrame und Hash übereinstimmen), dann springt der Browser automatisch zurück zur Seite welche im Hash angegeben ist.
Gibt es eine Möglichkeit dies zu unterbinden ?
Das beste wäre es, wenn ich ein Event Triggern könnte, wenn der Browser anfängt ein neues Dokument im IFrame zu lasen. Dann könnte ich den Timer zum überprüfen der Hashes stoppen, und nach dem erfolgreichen laden, wieder starten.
Wer hat Ideen / Tips ?
Danke
Gruß
Till
|

06-04-2011, 21:49
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.308
|
|
Mal eine ganz dumme Frage. Warum machst du das nicht per PHP. Das wird serverseitig verarbeitet.
Peter
PS: Und warum immer noch iframes?
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

07-04-2011, 06:41
|
|
till.kaufmann
Registrierter Benutzer
|
|
Registriert seit: Jul 2006
Beiträge: 34
|
|
Hallo Peter,
IFrames: Das ist nich meine Idee, wenn es nach mir ginge, hätte ich die
alten Inhalte schon längst in ein CMS eingepflegt.
Mein Chef hätte es aber lieber gerne so, jedenfalls übergangsweise.
Wie soll mir PHP da weiterhelfen ? Es wird ja keine neue Anfrage an den Server geschickt, wenn sich der Inhalt des Iframes ändert.
Wobei ... könnte man ja per onLoad machen ...
Also die index.php kann die Inhalte für das Iframe mittels index.php?iframe=seite.htm reinladen.
Ok, könnte so funktionieren.
Aber gibt es keine Möglichkeit mit JavaScript ?
Dann müsste nicht immer die index.php neugeladen werden.
Gruß
Till
|

07-04-2011, 06:45
|
|
till.kaufmann
Registrierter Benutzer
|
|
Registriert seit: Jul 2006
Beiträge: 34
|
|
Aber gibts kein Event, welches getriggert wird, sobald das IFrame anfängt ne neue Seite zu laden ?
Gruß
Till
|

07-04-2011, 09:04
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.308
|
|
Lad nicht nur den iframe neu sondern die komplette Seite. Dabei schleifst du dann die benötigten Parameter mit durch.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

07-04-2011, 10:32
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von till.kaufmann
Aber gibts kein Event, welches getriggert wird, sobald das IFrame anfängt ne neue Seite zu laden ?
|
Läd der Iframe von selber nach Lust und Laune neue Seiten?
Wohl kaum.
Also wann macht er das? Wohl dann, wenn du einen Link klickst.
Klicks auf Links lassen sich einfach abfangen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-04-2011, 11:12
|
|
till.kaufmann
Registrierter Benutzer
|
|
Registriert seit: Jul 2006
Beiträge: 34
|
|
Und wie fange ich einen Link ab ?
Ich hab mich schon dumm und dämlich gegoogelt,
konnte aber nichts dazu finden.
Gruß
Till
|

07-04-2011, 15:12
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Dann beschäftige dich mal mit den Grundlagen des Eventhandlings.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-04-2011, 16:05
|
|
till.kaufmann
Registrierter Benutzer
|
|
Registriert seit: Jul 2006
Beiträge: 34
|
|
Klasse antwort ... könnest du mir bitte evtl. einen kleinen Hinweis geben ?
Evtl. ein Code Snipet.
Danke
Gruß
Till
|

07-04-2011, 16:42
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von till.kaufmann
Klasse antwort ...
|
Gleichfalls!
Zitat:
|
könnest du mir bitte evtl. einen kleinen Hinweis geben ?
|
Du hast ein Stichwort bekommen - das kannst du noch mit JavaScript kombinieren, wenn du danach googlest, und dann findest du genug Stellen, wo es dir erklärt wird.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-04-2011, 16:49
|
|
till.kaufmann
Registrierter Benutzer
|
|
Registriert seit: Jul 2006
Beiträge: 34
|
|
Ok, hab was gefunden, Danke.
Damit kann ich Problem 1 in den Griff bekommen,
in dem ich an alle links des Iframes ein onClick Event Handler anhänge.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|