javascript (setInterval) und iframes
aspa
- javascript
hallo zusammen
ich habe für meine homepage eine javascript applikation geschrieben, die ein paar bilder schön zeit und bewegt.
gesteuert wird das ganze durch eine
window.setInterwall("rollbox()",20)
anweisung.
das dokument ist so aufegbaut:
<head>
.
.
.
<script>
.
.
.
window.setInterval(...)
.
.
.
funktionen
.
.
.
</script>
</head>
<Body>
html code, inklusive den DIVs, in denen die bilder stecken.
</body>
wenn ich dieses file im firefox aufrufe funktioniert alles bestens.
nun ist es aber so, dass dieses file auf meiner page in einem iFrame steckt.
dann geht die animation NICHT mehr.
ich gehe davon aus, dass die window.setInterval(...) nicht gestartet wird, wenn das ganze dok im iFrame ist.
weiss jemand, was ich tun könnte?
die URL die ich angehängt habe (http://www.aspashirts.com/rollbox/rollbox.htm) zeigt auf das file mit der animation. ich hoffe ihr lacht mich nicht aus, ich weiss...der code ist grauenhaft :-)
ich bin leider blutiger anfänger, ich kann eigentlich nur c/c++, html und javascript ist noch sehr neu.
danke für die hife im voraus!
Hi,
gesteuert wird das ganze durch eine
window.setInterwall("rollbox()",20)
anweisung.
das hat man zuletzt 1961 in Berlin versucht. War ein kompletter Reinfall.
dann geht die animation NICHT mehr.
Und die Fehlerbeschreibung lautet ...?
ich gehe davon aus, dass die window.setInterval(...) nicht gestartet wird, wenn das ganze dok im iFrame ist.
Ein Irrtum.
die URL die ich angehängt habe (http://www.aspashirts.com/rollbox/rollbox.htm) zeigt auf das file mit der animation.
Es bringt herzlich wenig, eine URL zu einer einwandfrei funktionierenden Seite zu posten, wenn man irgendwo anders ein Problem hat.
ich hoffe ihr lacht mich nicht aus, ich weiss...der code ist grauenhaft :-)
Bisher hast Du Glück: Es bringt unter diesen Umständen rein gar nichts, sich den Code anzusehen, also werden es auch nur wenige tun. Verfasse zunächst eine Fehlerbeschreibung und poste einen Link auf eine Seite, die das Problem aufzeigt. Und da ich weiß, wie oft das passiert, wenn man neben dem Hinweis auf die fehlende Fehlerbeschreibung noch etwas zweites Notwendiges nennt: Vergiss nicht die Fehlerbeschreibung.
Cheatah
Hi,
gesteuert wird das ganze durch eine
window.setInterwall("rollbox()",20)
anweisung.das hat man zuletzt 1961 in Berlin versucht. War ein kompletter Reinfall.
dann geht die animation NICHT mehr.
Und die Fehlerbeschreibung lautet ...?
ich gehe davon aus, dass die window.setInterval(...) nicht gestartet wird, wenn das ganze dok im iFrame ist.
Ein Irrtum.
die URL die ich angehängt habe (http://www.aspashirts.com/rollbox/rollbox.htm) zeigt auf das file mit der animation.
Es bringt herzlich wenig, eine URL zu einer einwandfrei funktionierenden Seite zu posten, wenn man irgendwo anders ein Problem hat.
ich hoffe ihr lacht mich nicht aus, ich weiss...der code ist grauenhaft :-)
Bisher hast Du Glück: Es bringt unter diesen Umständen rein gar nichts, sich den Code anzusehen, also werden es auch nur wenige tun. Verfasse zunächst eine Fehlerbeschreibung und poste einen Link auf eine Seite, die das Problem aufzeigt. Und da ich weiß, wie oft das passiert, wenn man neben dem Hinweis auf die fehlende Fehlerbeschreibung noch etwas zweites Notwendiges nennt: Vergiss nicht die Fehlerbeschreibung.
Cheatah
hoi.
es gibt keine fehlermeldung oder ähnliches. der fehler ist nur, dass die animation nicht läuft, sobald die seite in dem iframe angezeit werden soll.
die komplett in die seite eingebaute animation ist hier:
http:www.aspashirts.com/welcome23.htm
das geht noch. (ausser dem fehler, dass die ani rechts noch zu sehen ist, wo ich sie noch verstecken muss, aber dazu bin ich noch nicht gekommen.)
nun das file für die endgültige seite könnt ihr hier finden:
http://www.aspashirts.com/index23.htm
im grunde ist es aber nur so, dass auf index23.htm ein menü aussen rum ist, dann ein iframe, und in diesem iframe ist die welcome23.htm angezeigt.
und nun läuft dort die ani nicht, sondern bleibt auf dem startbild stehen.
Hallo aspa,
du solltest mal einen Blick in die "Fehler-Konsole" werfen. Eigentlich immer die erste Adresse, wenn ein Javascript nicht so läuft, wie erwartet.
Gruß, Jürgen
Hallo aspa,
du solltest mal einen Blick in die "Fehler-Konsole" werfen. Eigentlich immer die erste Adresse, wenn ein Javascript nicht so läuft, wie erwartet.
Gruß, Jürgen
danke, das ist sicherlich ein guter rat...
wie gesagt, ich bin ein newbie in diesen arten der programmierung
Hallo aspa,
du solltest mal einen Blick in die "Fehler-Konsole" werfen. Eigentlich immer die erste Adresse, wenn ein Javascript nicht so läuft, wie erwartet.
Gruß, Jürgen
okay...
wenn ich auf www.aspashirts.com/rollbox/rollbox.htm gehe, dann funktioniert alles, und es gibt in der error console KEINE meldungen.
also scheint das script an sich okay zu sein, nur die einbindung nicht...
ich glaub ich hab nen fehler mit der breite gemacht fällt mir gerade auf, ich glaub die ani ist zu breit für den iframe...könnte es daran liegen?
Hallo aspa,
hast du dir die Fehlermeldungen angesehen? Unter anderem wird ein Element nicht gefunden. Beseitige erst mal die JS-Fehler, dann kannst du dich um "kosmetisches" kümmern.
Gruß, Jürgen
Hallo aspa,
hast du dir die Fehlermeldungen angesehen? Unter anderem wird ein Element nicht gefunden. Beseitige erst mal die JS-Fehler, dann kannst du dich um "kosmetisches" kümmern.
Gruß, Jürgen
hallo
ja, den fehler habe ich gesehen. aber ich weiss nicht wieso das element nicht gefunden wird, denn schliesslich wird es nur einmal nicht gefunden, danach aber schon (sonst könnte das element ja nicht bewegt werden, es bewegt sich aber).
wenn die einzelne seite dann in den iframe gepackt wird, wiederholt sich dieser fehler fortlaufend, und darum geht wohl die ani auch nicht...
weiss leider nicht, wie ich das lösen kann, da ich nicht weiss wie dieser fehler zu stande kommt
gruss
stefan
Hallo aspa,
so richtig durchblicke ich dein "Iframe in Iframe"-Gewusel noch nicht. Wenn ich das aber richtig sehe, greifst du im innersten Iframe (rollbox.html) per
window.parent.document.getElementById('rot5div')
auf das Element zu. Wenn es keine Iframes gibt, ist - glaube ich - window.parent identisch mit window. Sobald aber die Seite in einen Iframe eingebunden wird, suchst du das Element in der Seite, die den Iframe enthält, also in welcome23.html. Wenn du auf Elemente innerhalb der Seite zugreifen willst, nimm nur
document.getElementById('rot5div')
Gruß, Jürgen
Hallo aspa,
so richtig durchblicke ich dein "Iframe in Iframe"-Gewusel noch nicht. Wenn ich das aber richtig sehe, greifst du im innersten Iframe (rollbox.html) per
window.parent.document.getElementById('rot5div')
auf das Element zu. Wenn es keine Iframes gibt, ist - glaube ich - window.parent identisch mit window. Sobald aber die Seite in einen Iframe eingebunden wird, suchst du das Element in der Seite, die den Iframe enthält, also in welcome23.html. Wenn du auf Elemente innerhalb der Seite zugreifen willst, nimm nur
document.getElementById('rot5div')
Gruß, Jürgen
danke, dass du es trotzdem versuchst, auch wenss unklar ist.
ich habe ingesamt nur einen iframe, und der ist im index23.htm. dieser iframe zeigt die welcome23.htm an.
nur document statt window.parent.document zu nehmen hab ich auch schon probiert, hilft aber leider nicht.
könnte es sein, dass die window.setInterval sozusagen auf höchster ebene läuft, und darum dann das element im iframe drin nicht finden kann?
Hallo aspa,
nur document statt window.parent.document zu nehmen hab ich auch schon probiert, hilft aber leider nicht.
so wäre es aber richtig. Was sagt die Fehlerkonsole? Ist der Fehler
window.parent.document.getElementById("rot5div") is null
Quelldatei: http://www.aspashirts.com/welcome23.htm
Zeile: 191
(auch ohne window.parent) dann weg? Ist das Script dann fehlerfrei?
Javascripte werden abgebrochen, wenn ein Fehler auftritt.
Gruß, Jürgen
Hallo aspa,
nur document statt window.parent.document zu nehmen hab ich auch schon probiert, hilft aber leider nicht.
so wäre es aber richtig. Was sagt die Fehlerkonsole? Ist der Fehler
window.parent.document.getElementById("rot5div") is null
Quelldatei: http://www.aspashirts.com/welcome23.htm
Zeile: 191(auch ohne window.parent) dann weg? Ist das Script dann fehlerfrei?
Javascripte werden abgebrochen, wenn ein Fehler auftritt.
Gruß, Jürgen
nein, die error console sagt dann einfach
document.getElementById("rot5div") is null
Quelldatei: http://www.aspashirts.com/welcome23.htm
Zeile: 191
aber eben: der fehler kann nur einmal auftreten, denn danach funktioniert es. also irgendwie so, dass der setINterval schon loslegt, bevor die seite alle DIVs "aufgebaut" hat? oder irgend sowas?
aber im endeffekt scheint mir das nicht das problem zu sein (ausser, dass ein fehlerfreier code schön wäre), sondern, dass sich dieser fehler immer wiederholt sobald die seite im iframe ist.
ich werd die animation nun mal aus dem iframe nehmen, denn als ich das getestet hab, ging es.
ich würd meine seite ja sowieso gerne iframe-los aufbauen, aber im moment geht das nicht
Hi,
es gibt keine fehlermeldung oder ähnliches.
Beschreibung. Fehlerbeschreibung. Nicht -meldung. Wenn es eine solche gibt, ist sie natürlich elementarer Bestandteil der Fehlerbeschreibung, aber ihr Fehlen rechtfertigt nicht, die Fehlerbeschreibung auszulassen.
die komplett in die seite eingebaute animation ist hier:
http:www.aspashirts.com/welcome23.htm
das geht noch.
Ja. Mit satten zweiundzwanzig JavaScript-Fehlern.
nun das file für die endgültige seite könnt ihr hier finden:
http://www.aspashirts.com/index23.htm
und nun läuft dort die ani nicht, sondern bleibt auf dem startbild stehen.
Ich bin nicht lange genug geblieben, um das zu beobachten, weil die Fehlerkonsole vollläuft mit Meldungen. Ich habe den Tab wieder geschlossen, bevor mir der Arbeitsspeicher ausgeht. Beherzige bitte Jürgens Rat.
Cheatah