Refresh einer URL in einem IFRAME ??
Claus
- javascript
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
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
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).
Hallo wahsaga!
Das refresh unterliegt IMHO nicht den JS-Sicherheitsbeschränkungen.
Gruß
mdkiller
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
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
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®
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
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
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
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
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
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
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
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
Besten Dank.
Dann ist der Beitrag erledigt!
Gruss Claus
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
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
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
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
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
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
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
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