Ernsthaftes Problem mit iframes
Tom
- html
0 Christoph Schnauß0 Tom0 Alex0 Tom
0 Christoph Schnauß0 Sven Rautenberg
hallo!
hat es irgendjemand schon einmal geschafft das hintergrundbild einer webseite, die in einen iframe geladen wird festzustellen? ich schaffe es einfach nicht. mit css. mit änderungen im bodytag. das ist schon wahnsinn, weil ein größeres projekt nun droht, an dieser kleinigkeit zu scheitern.
wer weiß rat?
im css für den body-tag der reinzuladenden seite steht folgendes:
BODY {background-image:url(images/verlauf.gif);background-attachment:fixed}
ich habe auch schon bgproperties="fixed" im bodytag probiert: nichts.
beim runterscrollen der seite, in der der iframe liegt, ist der hintergrund fixed. im iframe scrollt er mit. da sowohl im iframe als auch in der seite ein muster in der bg grafik ist, sieht es natürlich schlimm aus.
hat irgendjemand ne idee?
danke
gruss tom
halo Tom;-)
hat es irgendjemand schon einmal geschafft das hintergrundbild einer webseite, die in einen iframe geladen wird festzustellen?
Na klar. Ich zum Beispiel. Aber es steht dann eben nur in der in den iFrame geladenen Seite fest, und in deiner "parent"-Seite scrollt der iFrame mitsamt seiner hineigeladenen Seite.
BODY {background-image:url(images/verlauf.gif);background-attachment:fixed}
ich habe auch schon bgproperties="fixed" im bodytag probiert: nichts.
Dochdoch. Nur betrifft das vermutlich immer nur die Seite, die du in den iFrame lädst, und nicht dein Problem.
beim runterscrollen der seite, in der der iframe liegt, ist der hintergrund fixed. im iframe scrollt er mit. da sowohl im iframe als auch in der seite ein muster in der bg grafik ist, sieht es natürlich schlimm aus.
Soso, "natürlich".
Hm, aber warum brauchst du überhaupt einen iFrame? Du kannst dein Hintergrundbild doch völlig ohne iFrame mit CSS absolut und "fixed" positionieren. Dann bleibt es immer da, wo es ist, und alles wird gut.
hat irgendjemand ne idee?
Naja, meine Idee begeistert mich geradezu, aber kann es sein, daß du dein Problem nicht exakt genug beschrieben hast?
Grüße aus Berlin
Christoph S.
hallo christoph,
ich hab das problem deshalb nicht weiter beschrieben, weil es sonst ausarten würde - aber nun gut: hier vielleicht die erklärung:
ursprünglich sollte überhaupt nicht mit sowas schwammigem wie iframes hantiert werden. die seite, in der dieser iframe nun steckt ruft ein php-script auf, daß ausschließlich auf diesem server funktioniert/funktionieren darf. im iframe wird ein weiteres kleines php aufgerufen, daß nur auf einem anderen server funktioniert.
beide zusammenzubringen ist leider nicht machbar.
ursprünglich sollte das, was nun im iframe ist, über einen banalen include in die seite gestreamt werden. das geht aber nicht, da der include von einem anderen server kommt. kurzum: ich bekomme die beiden teile nicht zusammen auf eine seite.
normale frames kann ich nicht verwenden, weil nur EIN scrollbalken überhaupt zu sehen sein soll (ganz rechts).
schematisch sieht das ganze wie folgt aus:
FRAME VON SERVER A | FRAME VON SERVER B | FRAME VON SERVER A | SCROLLBAR
alle drei teile sollen ein identisches hintergrundmuster besitzen und immer auf gleicher höhe scrollen.
eigentlich wäre das alles kein thema, wenn ich die phps auf dem gleichen server hätte, was ich aber nicht darf und kann.
ich habe es aber auch schon mit einer einfachen alternative probiert:
verschachteltes frameset.
innen die oben stehenden drei frames. alle auf no-scroll
außenrum ein 100%,0 frameset mit scrolling="AUTO" und scrolling="NO"
auch hier: keine chance. entweder ich stelle die frames innen auf AUTO oder gar nichts. aber eine einzelne scrollbar rechts außen klappt nicht.
so langsam bin ich mit meinem latein am ende
vielleicht gibts doch ne lösung?
vielen dank
gruss tom
Hallo
mich würd mal interssieren wieso die Scripte nicht auf dem gleichen Server sien dürfen??
Alex
Hallo
mich würd mal interssieren wieso die Scripte nicht auf dem gleichen Server sien dürfen??
Alex
hallo!
ganz einfach: weil in einem teil eine mysql datenbank angesprochen wird (auf dem gleichen server) und im anderen teil ein formular mit cgi-link, daß nur vom anderen server bearbeitet werden kann. da auf diesem keine mysql db existiert und außerdem nicht existieren darf und genau das gleiche spiel mit dem cgi formular auf dem anderen server läuft, bekomme ich die so nicht zusammen.
irgendwas an den beiden servern rumzuschrauben ist nicht möglich. nehmt das einfach so hin :-) ich darf es eben nicht.
schönen gruß
tom
hallo nochmals,
ich hab das problem deshalb nicht weiter beschrieben, weil es sonst ausarten würde
Warum diese Zurückhaltung? Erst eine solche Problembeschreibung, wie du sie jetzt nachgeliefert hast, macht die Frage interessant genug, so daß man sich mit einer Antwort wirklich Mühe geben muß - und _genau das_ möchten diejenigen, die sich im Antwortgeben versuchen, auch haben. Du kriegst sonst irgendeinen 0815-Hinweis, und schreibst danach vielleicht einen "zu diesem Forum"-Thread, in dem du erklärst, daß wir alle fürchterlich eingebildet sind, aber keine Ahnung haben ;-)
ursprünglich sollte überhaupt nicht mit sowas schwammigem wie iframes hantiert werden.
iFrames sind nichts "Schwammiges", sondern, seit auch mozilla/Netscape, Opera und Konqueror/galeon einigermaßen damit umgehen können, sind sie durchaus akzeptable Layout-Elemente. Man muß lediglich genau überlegen, ob und wofür man ein iFrame einsetzen möchte.
die seite, in der dieser iframe nun steckt ruft ein php-script auf, daß ausschließlich auf diesem server funktioniert/funktionieren darf. im iframe wird ein weiteres kleines php aufgerufen, daß nur auf einem anderen server funktioniert.
Ein bißchen kompliziert, und die Frage nach dem "warum" sollte hier erlaubt sein - aber prinzipiell nicht unmöglich. Zu mod_rewrite gibt es allerhand Anmerkungen im aktuellen Forum sowie im Archiv.
beide zusammenzubringen ist leider nicht machbar.
Wieso nicht? Ich halte das durchaus für machbar. Die Frage ist lediglich, ob die beiden PHP-Scripts nicht irgendwas anstellen sollen, mit dem sie sich gegenseitig blockieren.
ursprünglich sollte das, was nun im iframe ist, über einen banalen include in die seite gestreamt werden. das geht aber nicht, da der include von einem anderen server kommt.
Erklärung bitte. Grundsätzlich ist so etwas durchaus möglich.
kurzum: ich bekomme die beiden teile nicht zusammen auf eine seite.
Richtig, und _deswegen_ hast du hier im Forum nachgefragt. Aber warum kommt die etwas genauere Problembeschreibung erst sozusagen im "zweiten Anlauf"?
normale frames kann ich nicht verwenden, weil nur EIN scrollbalken überhaupt zu sehen sein soll (ganz rechts).
Das ist auch mit "normalen Frames" (die Terminologie ist wacklig, nicht aber die Technologie) durchaus machbar.
schematisch sieht das ganze wie folgt aus:
FRAME VON SERVER A | FRAME VON SERVER B | FRAME VON SERVER A | SCROLLBAR
alle drei teile sollen ein identisches hintergrundmuster besitzen und immer auf gleicher höhe scrollen.
Ja, na und? null problemo.
verschachteltes frameset.
innen die oben stehenden drei frames. alle auf no-scroll
außenrum ein 100%,0 frameset mit scrolling="AUTO" und scrolling="NO"
Es gibt hier im Forum eine relativ starke "Anti-Frames-Fraktion" - ich gehöre ihr nicht an.
auch hier: keine chance. entweder ich stelle die frames innen auf AUTO oder gar nichts. aber eine einzelne scrollbar rechts außen klappt nicht.
so langsam bin ich mit meinem latein am ende
Es gibt etliche Forumsteilnehmer, die das Große oder das Kleine Latinum durchaus mit Erfolg absolviert haben. Hier gehöre ich nach vielen Jahren Lateinunterricht dazu.
vielleicht gibts doch ne lösung?
Mit allergrößter Wahrscheinlichkeit ja. Mach bitte folgendes: du hast ja offenbar schon ein paar Sachen probiert. Auch wenn die nicht funktioniert haben, lade sie auf irgendeine temporäre Adresse hoch, gegebenenfalls bei deinen PHP-Scripts als Textdateien, dann kann man sich deine "Vorarbeit" anschauen und besser begreifen, was du da gemacht hast und warum du bisher gescheitert bist - und man kann dir auch besser sagen, was du vielleicht noch nicht berücksichtigt hast und besser machen könntest.
Das Forum hier liebt durchaus kompliziertere Fragestellungen und kann sich darein verbeißen - allerdings gibt es keine Garantie dafür, daß irgendwann mal genau das herauskommt, was du gerne haben wolltest.
Grüße aus Berlin
Christoph S.
Moin!
normale frames kann ich nicht verwenden, weil nur EIN scrollbalken überhaupt zu sehen sein soll (ganz rechts).
schematisch sieht das ganze wie folgt aus:
FRAME VON SERVER A | FRAME VON SERVER B | FRAME VON SERVER A | SCROLLBAR
alle drei teile sollen ein identisches hintergrundmuster besitzen und immer auf gleicher höhe scrollen.
Ich sehe keine Chance, dein Vorhaben zu verwirklichen, außer du verzichtest auf den fixierten Hintergrund in der äußeren Datei.
Das Problem ist, dass beim Scrollen der äußeren Datei sich auch die Position des IFrames mit ändert, der Hintergrund aber stehen bleibt.
Innerhalb des IFrames ist wieder der Hintergrund enthalten - der bewegt sich, da sich das IFrame selbst bewegt, logischerweise ebenfalls mit über den Bildschirm. Ob der Hintergrund im IFrame nun fixed oder lose ist, ist hierbei sogar absolut egal: Es wird nicht im IFrame gescrollt, die Einstellung ist also irrelevant, weil ihre Auswirkung nicht benötigt wird.
eigentlich wäre das alles kein thema, wenn ich die phps auf dem gleichen server hätte, was ich aber nicht darf und kann.
Du kannst mit PHP den Output, den der fremde Server ins IFrame pustet, auch in die generierte PHP-Seite einfügen. Ebenso kannst du diesen Output entsprechend mit Pfadnamen anreichern, damit der Browser referenzierte Bilder findet etc. bzw. Formular-Action-Ziele.
Deine grafische Aufgabenstellung ist wirklich nur lösbar, wenn du _eine_ komplette Seite ohne Frames herstellst.
- Sven Rautenberg