Claus: Refresh einer URL in einem IFRAME ??

Hallo, und guten Tag!

Ich möchte auf einer Seite einen refresh einer URL die in einem iframe steht ausführen. Der refresh soll alle 30 sec. erfolgen, damit der aktuelle Inhalt immer wieder im iframe steht.

Wie kann ich dies lösen?

Danke für Infos!!!

Gruss  Claus

  1. hi,

    Ich möchte auf einer Seite einen refresh einer URL die in einem iframe steht ausführen. Der refresh soll alle 30 sec. erfolgen, damit der aktuelle Inhalt immer wieder im iframe steht.

    am einfachsten: baue einen refreh per meta-tag in die seite ein, die _im_ iframe angezeigt wird.

    per JS: arbeite aus der umgebenden seite heraus mit setTimeout und der reload-methode des location-objectes. einschränkung: wird nicht funktionieren, wenn die seite im iframe nicht auf unterhalb der selben domain liegt (cross ste scripting).

    gruss,
    wahsaga

    1. Hallo!

      Danke Euch für die schnelle Antwort, aber so einfach ist das nicht.

      am einfachsten: baue einen refreh per meta-tag in die seite ein, die _im_ iframe angezeigt wird.

      Die URL im IFRAME ist eine Seite in einem Forum, die die Anzahl der aktuellen User anzeigt. Diese Seite kann ich nicht verändern!

      per JS: arbeite aus der umgebenden seite heraus mit setTimeout und der reload-methode des location-objectes. einschränkung: wird nicht funktionieren, wenn die seite im iframe nicht auf unterhalb der selben domain liegt (cross ste scripting).

    2. Hallo wahsaga!

      Das refresh unterliegt IMHO nicht den JS-Sicherheitsbeschränkungen.

      Gruß

      mdkiller

      1. hi,

        Das refresh unterliegt IMHO nicht den JS-Sicherheitsbeschränkungen.

        hm, wäre denkbar, da du damit ja nicht direkt auf die seite zugreifst, sondern nur den frame-inhalt neu laden lässt.

        location liegt ja in der hierarchie unterhalb von window, nicht unterhalb von location, deshalb wäre es vielleicht sogar logisch.

        im zweifelsfalle: ausprobieren ;-)

        gruss,
        wahsaga

  2. Hallo Claus

    In deinem IFrame steht ja nicht einfach eine URL, sondern im IFrame wird ein Dokument angezeigt.
    Versuch mal, dieses Dokument zu refreshen.

    Gruss, Ursula

  3. Moin!

    Hallo, und guten Tag!

    Ich möchte auf einer Seite einen refresh einer URL die in einem iframe steht ausführen. Der refresh soll alle 30 sec. erfolgen, damit der aktuelle Inhalt immer wieder im iframe steht.

    Ja, klar:

    [1] Informiere Dich über die Unterobjekte des frame- und des Windowsobjektes:
    http://selfhtml.teamone.de/javascript/objekte/frames.htm
    http://selfhtml.teamone.de/javascript/objekte/location.htm

    [2] Sowie über die Möglichkeiten Funktionen zeitgesteuert ablaufen lassen zu können:
    window.settimeout() beschrieben in: http://selfhtml.teamone.de/dhtml/beispiele/datumuhr.htm

    [3] sowie über die einfachste und sauberste Möglichkeit:
    http://selfhtml.teamone.de/html/kopfdaten/meta.htm#weiterleitung

    [4] Ferner darüber, wier Du dem Benutzeragenten und den Proxys mitteilst: hier solle nicht zwischengespeichert werden:
    http://selfhtml.teamone.de/html/kopfdaten/meta.htm#diverse

    Das sollte geholfen haben.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
  4. Danke Euch vielmal für die Vorschläge!

    Praktisch wäre ein Beispiel!

    Ich habe es so probiert:

    <SCRIPT>
    <!--
    var limit="0:30"

    if (document.images){
    var parselimit=limit.split(":")
    parselimit=parselimit[0]*60+parselimit[1]*1
    }
    function beginrefresh(){
    if (!document.images)
    return
    if (parselimit==1)
    window.location.reload()
    else{
    parselimit-=1
    curmin=Math.floor(parselimit/60)
    cursec=parselimit%60
    if (curmin!=0)
    curtime=curmin+" minutes and "+cursec+" bis zum Neuladen der Seite!"
    else
    curtime=cursec+" Sekunden bis zum Neuladen der Seite!"
    window.status=curtime
    setTimeout("beginrefresh()",1000)
    }
    }
    window.onload=beginrefresh
    //-->
    </SCRIPT>

    ...aber dies refresht die gesamte Seite!

    Ich möchte aber nur den Inhalt des Iframe refreshen:

    <iframe id="userforum" src="http://www.test.de/counter"  width=70 height=17 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></iframe>

    Danke für einen Hinweis!!!!

    Gruss   Claus

    1. Hallo Claus,

      <SCRIPT>

      hier fehlt das type-Attribut.

      window.location.reload()

      das dürfte der springende Punkt sein - damit lädst du die aktuelle Seite neu - wenn du nur das iframe neuladen willst, musst du das dem Script auch sagen :-)(wie du auf Frames zugreifst steht unter http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines).

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      1. Hallo Tobias,

        danke für den Hinweis!

        <SCRIPT>
        hier fehlt das type-Attribut.
        Ist klar!

        window.location.reload()
        das dürfte der springende Punkt sein - damit lädst du die aktuelle Seite neu - wenn du nur das iframe neuladen willst, musst du das dem Script auch sagen :-)(wie du auf Frames zugreifst steht unter http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines).

        Habe ich schon probiert, aber wenn ich ein als Zielframe die IFRAM-ID angebe bekomme ich eine Fehlermeldung und es passiert kein refresh.
        Wo steckt der Fehler???

        Gruss  Claus

        1. Hallo Claus,

          (wie du auf Frames zugreifst steht unter http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines).
          Habe ich schon probiert, aber wenn ich ein als Zielframe die IFRAM-ID angebe

          ich glaube mit der id geht das nicht - entweder über den Namen oder über die Nummer.

          bekomme ich eine Fehlermeldung

          welche?

          Wo steckt der Fehler???

          kenn ich den Code?

          Grüße aus Nürnberg
          Tobias

          --
          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
          1. Hallo Tobias!

            (wie du auf Frames zugreifst steht unter http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines).
            Habe ich schon probiert, aber wenn ich ein als Zielframe die IFRAM-ID angebe
            ich glaube mit der id geht das nicht - entweder über den Namen oder über die Nummer.

            Auch mit Eingabe des Names ist es identisch!
            z.B.: name="userforum"  und
            parent.userforum.location.reload()

            bekomme ich eine Fehlermeldung
            welche?

            Erlaubnis verweigert!

            Wo steckt der Fehler???
            kenn ich den Code?

            Code: 0

            Gruss  Claus

            1. hi,

              bekomme ich eine Fehlermeldung
              welche?

              Erlaubnis verweigert!

              darauf hatte ich dich schon mit meinen posting [pref:t=62426&m=352986] zum unerlaubten "cross site scripting" hingewiesen.

              wenn "rahmen"-seite und seite im iframe nicht unterhalb der selben domain liegen, wird der zugriff verweigert.

              gruss,
              wahsaga

              1. Hallo!

                darauf hatte ich dich schon mit meinen posting [pref:t=62426&m=352986] zum unerlaubten "cross site scripting" hingewiesen.

                wenn "rahmen"-seite und seite im iframe nicht unterhalb der selben domain liegen, wird der zugriff verweigert.

                Danke wahsaga!

                Gibt es denn da keine Lösung????

                Gruss  Claus

                1. hi,

                  Gibt es denn da keine Lösung?

                  wenn du nicht die möglichkeit hast, den sourcecode der im iframe geladenen seite zu verändern: nein.

                  ???

                  wo sind die restlichen drei fragen verschwunden?

                  gruss,
                  wahsaga

                  1. Besten Dank.

                    Dann ist der Beitrag erledigt!

                    Gruss  Claus

                2. Hallo Claus,

                  darauf hatte ich dich schon mit meinen posting [pref:t=62426&m=352986] zum unerlaubten "cross site scripting" hingewiesen.

                  wenn "rahmen"-seite und seite im iframe nicht unterhalb der selben domain liegen, wird der zugriff verweigert.

                  Gibt es denn da keine Lösung????

                  Du könntest in den Iframe ein Frameset laden. Dieses würde sich über eine Meta-Angabe selbst aktualisieren und hätte nur einen Frame, der dann die eigentliche Zielseite enthält.

                  Grüße, Stefan

                  --
                  Selfforum dynamisch: http://zapp.i-networx.de/
                  1. hi,

                    Du könntest in den Iframe ein Frameset laden.

                    *uah* *schüttel*

                    wie heissen noch gleich diese russischen holzpuppen, wo in jeder wieder eine kleinere version steckt? (ich glaube, matroschka?).

                    dieses prinzip auf eine webseite zu übertragen halte ich aber für nicht sehr angebracht ...

                    gruss,
                    wahsaga

                    1. Hallo wahsaga,

                      Du könntest in den Iframe ein Frameset laden.

                      *uah* *schüttel*

                      wie heissen noch gleich diese russischen holzpuppen, wo in jeder wieder eine kleinere version steckt? (ich glaube, matroschka?).

                      dieses prinzip auf eine webseite zu übertragen halte ich aber für nicht sehr angebracht ...

                      Eine Begründung dafür hast du auch? Welche konkreten Nachteile entstehen durch eine solche Konstruktion? Klär mich doch mal auf!

                      Grüße, Stefan

                      --
                      Selfforum dynamisch: http://zapp.i-networx.de/
                      1. hi,

                        Eine Begründung dafür hast du auch? Welche konkreten Nachteile entstehen durch eine solche Konstruktion? Klär mich doch mal auf!

                        die nachteile von (i)frames im allgemeinen sind bekannt.

                        jetzt auch noch frames und iframes zu verschachteln, nur um hier einen automatischen reload realisieren zu können, hat m.e. mit sauber strukturiertem html nur noch sehr wenig gemein ...

                        gruss,
                        wahsaga

                        1. Hallo wahsaga,

                          Eine Begründung dafür hast du auch? Welche konkreten Nachteile entstehen durch eine solche Konstruktion? Klär mich doch mal auf!

                          die nachteile von (i)frames im allgemeinen sind bekannt.

                          jetzt auch noch frames und iframes zu verschachteln, nur um hier einen automatischen reload realisieren zu können, hat m.e. mit sauber strukturiertem html nur noch sehr wenig gemein ...

                          Aber genau darum ging es doch in der Frage, um den automatischen Reload eines Iframes. Die Forderung nach "sauber strukturiertem HTML" finde ich wenig überzeugend, da du mir bisher weder einen konkreten Nachteil noch eine "saubere" Alternative genannt hast.

                          Es gäbe auch noch eine weitere Möglichkeit: Man könnte mit createElement() einen neuen Iframe erstellen und diesen mit replaceChild() an die Stelle des vorhandenen setzen. Die Frameset-Methode hätte aber den Vorteil, dass sie auch ohne JS funktioniert.

                          Grüße, Stefan

                          --
                          Selfforum dynamisch: http://zapp.i-networx.de/
                          1. hi,

                            Aber genau darum ging es doch in der Frage, um den automatischen Reload eines Iframes.

                            ja - aber ich würde mir an dieser stelle zuerst einmal die frage stellen, ob dieser wirklich nötig ist, wenn er nur durch solch eine "vergewaltigung" von html erreichbar ist.

                            Die Forderung nach "sauber strukturiertem HTML" finde ich wenig überzeugend, da du mir bisher weder einen konkreten Nachteil noch eine "saubere" Alternative genannt hast.

                            mag sein, dass es keine "saubere alternative" gibt - so what?
                            warum kann es nicht dem user überlassen bleiben, die seite neu zu laden, sobald er es für nötig hält?

                            gruss,
                            wahsaga

                  2. Hallo Stefan,

                    danke für den Tipp, auf so etwas simpeles bin ich garnicht gekommen.
                    Auch wenn andere dies nicht ok finden, so ist es zumindest ein Weg.

                    Du könntest in den Iframe ein Frameset laden. Dieses würde sich über eine Meta-Angabe selbst aktualisieren und hätte nur einen Frame, der dann die eigentliche Zielseite enthält.

                    Zur Info: Das IFRAME soll aktualisiert werden damit der Benutzer der Seite erkennt wenn sich die Zahl der User verändert. Ich möchte nicht die ganze Seite refreshen, da dies den Benutzer doch sehr stört.

                    Gruss  Claus

                    1. hi,

                      Zur Info: Das IFRAME soll aktualisiert werden damit der Benutzer der Seite erkennt wenn sich die Zahl der User verändert.

                      *rotfl*
                      lies dir doch mal im </archiv/> ein paar der ausführungen zu solchen "user online"-anzeigen durch, oder auch den artikel http://aktuell.de.selfhtml.org/artikel/programmiertechnik/useronline/index.htm, um zu erkennen, dass du hier viel zu viel aufwand für eine anzeige mit viel zu wenig aussagekraft betreibst.

                      gruss,
                      wahsaga