<object> / zIndex / HTML
Greyschen
- html
Hallo,
Ich habe ein Problem.
Ich habe eine Object auf meiner Seite eingebunden und es wird auch alles Ordnungsgemäß angezeigt...
Nun wollte ich ein Element über das <object> legen.
Im Mozilla Firefox funktioniert alles bestens.
Nur der IE holt das <object> immer ganz nach vorn..
Ich hab es bereits mit einem Container probiert der das <object> umschließt und einen zIndex von 5 hat und ein Container drüber gelegt der den zIndex von 1 hat. Leider ist das object immernoch über meinen Container (div)
bei dem object handelt es sich um eine HTML Seite die eingebunden ist...
Ich bitte darum, dass mir keine Alternativen zum object angeboten werden, da ich das object umbedingt benötige... include oder iframes kommen demnach nicht in Frage.
Ich wäre dankbar wenn mir jemand sagen kann wie ich ein <div> über ein <object> legen kann
Liebes Greyschen,
Nur der IE holt das <object> immer ganz nach vorn..
für den kannst Du einmal folgenden Parameter ausprobieren:
<param name="wmode" value="transparent" />
Liebe Grüße,
Felix Riesterer.
Hallo Felix,
danke für die schnelle Antwort.
Der IE zeigt mir nun den Text nicht mehr an (der eingebundenen HTMLseite als Object) und das Div was drüber liegen soll liegt nun hinter einem Object was die Farbe weiß hat
<div id="objectbox" style="background:#FFFFFF; ">
<object data="aboutme1.htm" type="text/html" id="contentfield" style="width:400; height:150; padding-left:0px; padding-top:0px; "><param name="wmode" value="transparent" />
</object>
</div>
sooo und hier soll nun beispielsweise ein <div> teilweise drüber liegen:
<div style="#FF0000; height:20px; width:20px; position:absolute; top:50; left:50; zIndex:1"></div>
@@Greyschen:
Der IE zeigt mir nun den Text nicht mehr an […]
<object data="aboutme1.htm" type="text/html" id="contentfield" style="width:400; height:150; padding-left:0px; padding-top:0px; "><param name="wmode" value="transparent" />
</object>
Dass IE auf '@data' pfeift und die Resource gern als 'param' hätte, weißt du?
<div style="#FF0000; height:20px; width:20px; position:absolute; top:50; left:50; zIndex:1"></div>
Dass die Werte für 'top' und 'left' ungültig sind, weißt du?
Dass es keine CSS-Eigenschaft 'zIndex' gibt, weißt du?
Live long and prosper,
Gunnar
<object data="aboutme1.htm" type="text/html" id="contentfield" style="width:400; height:150; padding-left:0px; padding-top:0px; "><param name="wmode" value="transparent" />
</object>Dass IE auf '@data' pfeift und die Resource gern als 'param' hätte, weißt du?
Ihr verwechselt hier Flash mit HTML. Diese Params steuern das Flash-Plugin an!
Hier gehts aber um die Einbindung von HTML via object.
Mathias
@@molily:
»» Dass IE auf '@data' pfeift und die Resource gern als 'param' hätte, weißt du?
Ihr verwechselt hier Flash mit HTML. Diese Params steuern das Flash-Plugin an!
Hier gehts aber um die Einbindung von HTML via object.
<iframe src="foo.html"></iframe>
funzt: der Inhalt von foo.html wird dargestellt.
<object data="foo.html" type="text/html"></object>
funzt nicht im IE: der Inhalt von foo.html wird nicht dargestellt. Irgendwie braucht der noch eine Extraeinladung.
Oder auch nicht, da es ja mit 'iframe' funktioniert und für 'object' an der Stelle überhaupt kein Bedarf besteht.
Live long and prosper,
Gunnar
<object data="foo.html" type="text/html"></object>
funzt nicht im IE: der Inhalt von foo.html wird nicht dargestellt. Irgendwie braucht der noch eine Extraeinladung.
Ja, aber nicht mit param, sondern mit classid.
data wird korrekt erkannt, aber type nicht, daher classid.
Mathias
@@molily:
»» Irgendwie braucht der noch eine Extraeinladung.
Ja, aber nicht mit param, sondern mit classid.
Wir lagen beide falsch. @classid ist unnötig, Angaben zu Breite und Höhe sind hingegen erforderlich.
Live long and prosper,
Gunnar
öhm und wie wirds nun gemacht?
______________________________________________________________________________
@ gunnar ja das weiß ich alles ;-) ich hab da bei meinen seiten schon drauf geachtet, nur hab ich hier das alles nur fix hingetippt und die feinheiten bei Seite gelassen.
Es steht ja auch außer Frage ob das mit den div nun falsche oder ungültige CSS-Eigenschaften bzw Werte sind. Es geht darum ein Div über eine mit einem <object>-Element eingebundene HTMLSeite zu legen. Denn bisher hab ich es auch geschafft divs übereinander zu legen und absolute positionsangaben zu erstellen. Es ging nur um das Verständnis
______________________________________________________________________________
@@Greyschen:
Es geht darum ein Div über eine mit einem <object>-Element eingebundene HTMLSeite zu legen.
Nein. Es geht immer noch um die Frage nach dem Warum.
Live long and prosper,
Gunnar
@@Greyschen:
»» Es geht darum ein Div über eine mit einem <object>-Element eingebundene HTMLSeite zu legen.
Nein. Es geht immer noch um die Frage nach dem Warum.
Live long and prosper,
Gunnar
Das warum ist eine gute Frage.
Ich dachte iFrames sind veraltet und sollten nach Möglichkeit nicht mehr genutzt werden um auch bei google besser anzukommen...
außerdem hab ich es geschafft die src für ein object dynamisch zu ändern.
aber eh ich ein iFrame dafür nutze müssten folgende Fragen geklärt werden:
Ich will lediglich eine dynamische website schaffen wo man eingebette HTMLdateien neu anordnen mittels drag and drop von der muss ich es schaffen dass sich divs über objects legen können und auch andersrum ;-)
Ich dachte iFrames sind veraltet und sollten nach Möglichkeit nicht mehr genutzt werden um auch bei google besser anzukommen...
Object war langfristig als Ersatz für Iframes gedacht, das stimmt. Object ist das allgemeinere und damit ist (in neueren Browsern) dasselbe wie mit Iframes möglich (und viel mehr).
Die Nachteile von IFrames sind aber völlig identisch mit denen von Object - da geben sie sich nichts.
Iframes werden vermutlich viel besser von Suchmaschinen unterstützt als object, weil Iframes viel älter und etablierter sind. Das Problem mit Suchmaschinen ist ein anderes (siehe ChrisB).
außerdem hab ich es geschafft die src für ein object dynamisch zu ändern.
Das geht mit IFrames ebenfalls sehr einfach und viel robuster und browserübergreifender.
- Was bietet mir das iFrame für Vorteile gegenüber dem Object?
Es hat nicht den Nachteil, den du beim object festgestellt hast.
- kann ich bei einem iFrame genauso die src/url der daringeladenen HTMLdatei dynamisch ändern?
Die Frage habe ich dir schon gestern abend beantwortet.
- Wie sieht es aus mit dem unsichtbar/kindelement abtrennen bei iFrames?
Diese Frage ist mir unverständlich.
Ich will lediglich eine dynamische website schaffen wo man eingebette HTMLdateien neu anordnen mittels drag and drop von der muss ich es schaffen dass sich divs über objects legen können und auch andersrum ;-)
Das geht mit IFrames.
Mathias
Vielen Dank,
Ich hab aus den gescheiterten Versuchen mit Object gelernt. Und bin nun auf iframes umgestiegen. Zwar musste ich eine Browserweiche einbauen weil das dynamische ändern der URL/SRC unterschiedlich im IE und Firefox abläuft:
Daher für alle die auf das gleiche Problem wie ich stoßen:
die Erstellung des integrierten Frames:
<iframe id="contentfield" src="seite1.html" height="150" width="396"></iframe>
das dynamische Ändern der src im Internet Explorer: (JavaScript)
parent.id_des_frames(in dem fall contentfield).location.href = "seite2.html"
und das Ändern im Mozilla Firefox:
document.getElementById('contentfield').src=source;
Zwar musste ich eine Browserweiche einbauen weil das dynamische ändern der URL/SRC unterschiedlich im IE und Firefox abläuft
Dann machst du etwas falsch.
http://molily.de/temp/iframe-js-test.html
Beide Methoden funktionieren im IE und Firefox. Eine Browserweiche ist nicht notwendig und du solltest Browserweichen nach Möglichkeit vermeiden.
das dynamische Ändern der src im Internet Explorer: (JavaScript)
parent.id_des_frames(in dem fall contentfield).location.href = "seite2.html"
Hier solltest du nicht den Wert des id-Attributs, sondern den des name-Attributs angeben. So ist das definiert.
Außerdem sollte man die Referenz am besten aus window.frames anstatt direkt aus window lesen, um Uneindeutigkeiten zu vermeiden.
Mathias
@classid ist unnötig
Mit welcher IE-Version testest du?
Mathias
Hallo Mathias,
<object data="aboutme1.htm" type="text/html" id="contentfield" style="width:400; height:150; padding-left:0px; padding-top:0px; ">
</object>
Diese Einbettung funktioniert im IE als auch im Firefox , lediglich die Überlagerung eines Divs über dieses object macht mir zu schaffen... probier es einfach aus ;-)
@@molily:
»» @classid ist unnötig
Mit welcher IE-Version testest du?
6.0.2900.5512.xpsp_sp3_gdr.080814-1236 und 7.0.5730.11
Live long and prosper,
Gunnar
@@Greyschen:
Ich bitte darum, dass mir keine Alternativen zum object angeboten werden, da ich das object umbedingt benötige...
Warum?
include oder iframes kommen demnach nicht in Frage.
Warum nicht Iframe?
Ich sehe keinen Sinn, ein HTML-Object per 'object' einzubinden. 'iframe' ist dafür besser geeignet. http://forum.de.selfhtml.org/archiv/2006/3/t126257/#m814260 ff.
Live long and prosper,
Gunnar
weil frames immer altmodischer sind... und grad bei dynamischen websites ziemlich hinderlich sein können...
außerdem dachte ich frames sollen weitestgehend um ein hohes ranking zu erreichen vermieden werden... und das will ich tun... außerdem hab ichs geschafft seiten dynamisch in das object zu laden...
1. Kann ich denn ein iFrame auf ein bewegbares div legen?
2. Kann ich den iFrame ausblenden oder gar löschen?
3. Kann ich in den iFrame dynamisch seiten hineinladen oder die ganze seite neu zu laden?
4. Sind Frames nicht zu überaltet?
Hi,
weil frames immer altmodischer sind... und grad bei dynamischen websites ziemlich hinderlich sein können...
Und in wie fern soll object diesbezüglich "besser" sein?
außerdem dachte ich frames sollen weitestgehend um ein hohes ranking zu erreichen vermieden werden...
Die Probleme mit (I)Frames und Suchmaschinen liegen in vorderster Linie darin, dass sie Inhalte (bzw. inhaltliche Bestandteile eines Dokumentes) "auseinanderreissen", die eigentlich zusammengehören - was daran soll sich zum "besseren" verändern, wenn du jetzt iframe durch object austauschst, was am genannten Umstand prinzipiell nichts ändert?
MfG ChrisB
weil frames immer altmodischer sind...
Kennst du den Unterschied zwischen Frames und IFrames?
und grad bei dynamischen websites ziemlich hinderlich sein können...
Offenbar kennst du den Unterschied nicht.
Ja, auf Frames treffen die von dir genannten Nachteile zu. (Auch Iframes und Objects aber teilweise auch.) Dir wurden aber Iframes als Alternative zum object-Element empfohlen, das hat mit Frames gar nichts zu tun. (Sie sind auch keine Alternative zu object!)
außerdem dachte ich frames sollen weitestgehend um ein hohes ranking zu erreichen vermieden werden...
iframe ist bloß ein anderes Element, das dir exakt genau das bietet, wofür du das object-Element verwendest - nur mit dem Unterschied, dass du Elemente im IE darüber positionieren kannst.
- Kann ich denn ein iFrame auf ein bewegbares div legen?
Ja. Ein iframe verhält sich genauso wie ein object in dieser Hinsicht.
- Kann ich den iFrame ausblenden oder gar löschen?
Ja. Wie jedes andere Element auch.
- Kann ich in den iFrame dynamisch seiten hineinladen oder die ganze seite neu zu laden?
Ja. Ddas ist der Sinn eines iframes!
- Sind Frames nicht zu überaltet?
Ja, aber IFrames sind nicht Frames!
Bitte informiere dich doch einfach mal in SELFHTML zu Iframes.
http://de.selfhtml.org/html/frames/eingebettete.htm
Mathias