Event Triggern wenn in IFrame neue Seite geladen wird

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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

  • #2
    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

    Kommentar


    • #3
      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

      Kommentar


      • #4
        Aber gibts kein Event, welches getriggert wird, sobald das IFrame anfängt ne neue Seite zu laden ?
        Gruß
        Till

        Kommentar


        • #5
          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

          Kommentar


          • #6
            Zitat von till.kaufmann Beitrag anzeigen
            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.

            Kommentar


            • #7
              Und wie fange ich einen Link ab ?
              Ich hab mich schon dumm und dämlich gegoogelt,
              konnte aber nichts dazu finden.
              Gruß
              Till

              Kommentar


              • #8
                Dann beschäftige dich mal mit den Grundlagen des Eventhandlings.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Klasse antwort ... könnest du mir bitte evtl. einen kleinen Hinweis geben ?
                  Evtl. ein Code Snipet.
                  Danke
                  Gruß
                  Till

                  Kommentar


                  • #10
                    Zitat von till.kaufmann Beitrag anzeigen
                    Klasse antwort ...
                    Gleichfalls!

                    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.

                    Kommentar


                    • #11
                      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.

                      Kommentar

                      Lädt...
                      X