Toon posts:

[IE6] XML niet doorzichtig in iframe

Pagina: 1
Acties:
  • 515 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Probleem - IE 6.0

Ik heb een XML-document dat clientside met behulp van XSLT wordt omgezet in een XHTML-document. Dit gebeurt in een <iframe>. Deze was voorheen altijd doorzichtig (toen er nog een XHTML document in zat die niet was omgebouwd door XSLT), maar nu wil hij dat niet meer doen. Ook gaat hij opeens over álle layers heen, net als Flash altijd doet.

Vraag
• Hoe kan ik een iframe waarin een XML zit transparant maken?
• Hoe kan ik er voor zorgen dat andere layers weer boven dit iframe komen (z-index werkt dus niet...).

Alvast bedankt :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Zit er nou "gewoon" XML in je iframe of is het XHTML? In het laatste geval los je het hoogstwaarschijnlijk op door er een XML declaration boven te zetten
code:
1
<?xml version="1.0" encoding="utf-8"?>
of een andere encoding als je een andere gebruikt. Veelal geeft de xml-declaration in combinatie met een xhtml DTD hetzelfde resultaat als een html (4.0) DTD, itt. een "losse" xhtml DTD :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Sorry dat het niet helemaal duidelijk is, maar ik vind het altijd moeilijk wat uit te leggen ;) Wellicht is dit duidelijk in het Engels:



G'day all,

I am currently having a problem with what seems to be a layer issue when
using XSL.

I have constructed a basic XHTML page (with DHTML drop down menus) that
contains an IFRAME and within that IFRAME I am calling an XSL style
sheet. The problem that I am having is that when the XSL is within the
IFRAME the menu drops down behind the XSL (i.e. it is hidden behind the
XSL), however when the IFRAME source is a standard XHTML page the menu
drops down in front of it without issues.

I have already experimented with the z-index of the IFRAME and found
that it appears to have nothing to do with the problem.



In het iframe zit dus een XHTML bestand dat clienside door XML + XSLT is opgebouwd. Doe ik in het iframe een XHTML bestand dat níet wordt opgebouwd door XML + XSLT, dan gaan de layers wél over het iframe heen.

Als ik nog steeds onduidelijk ben zeg je het maar :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Je probleem is wel duidelijk maar waar het door komt niet.

Ik denk toch dat het op een of andere manier te maken heeft met DTD of iets van dien aard. Misschien kun je even wat voorbeeldjes online zetten waarin je het probleem reproduceert? Dan kan je de 2 sources ook bestuderen :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Ik weet niet in hoeverre je de output-type van je xml-transformatie specificeert (text/html), maar dit zou eventueel een oorzaak kunnen zijn van het probleem.
Ik kan me namelijk niet voorstellen dat het aan het gebruik van getransformeerde xml-data kan liggen, tenzij het een bug in IE is natuurlijk ;)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Verwijderd

Topicstarter
Hier heb ik een voorbeeld online gezet :)

Hierzo.

Verwijderd

probeer eens in de iframe transparent ="true" (tenminste iets is die richting) te zetten (bij flash is dat namelijk nodig)

Verwijderd

ik heb het ff uitgezocht en je moet in de iframe
code:
1
allowtransparency="true"

zetten
en in de pagina die je laad in de iframe moet de body transparant zijn:
code:
1
<body style="background-color:transparent">

Verwijderd

Topicstarter
Alleen dát werkt dus alleen bij de eerste pagina, en niet bij de tweede pagina ;(

Het lijkt sterk op een MSIE-bug... :/

We hebben dan dus te maken met 2 bugs:
• Een iframe waarin een XHTML-bestand zit die is opgebouwd met XML + XSLT is niet transparent te maken met allowtransparency="true".
• Layers verdwijnen achter ditzelfde iframe, omdat het (net als een <select>) overal doorheen gaat...

Heeft iemand een hack voor deze bugs? :+

[ Voor 58% gewijzigd door Verwijderd op 18-05-2003 14:02 ]


Verwijderd

heel apart, misschien de pagina niet met een linkje openen, maar rechtstreeks.
wat je ook kunt proberen is een CSS op de iframe:

filter:alpha(opacity=0);

misschien werkt dat?

[ Voor 10% gewijzigd door Verwijderd op 18-05-2003 14:39 ]


Verwijderd

Topicstarter
Rechtstreeks openen haalt niks uit, en dat filter negeert hij bij de tweede pagina helemaal... (zie hier; ik heb hem op filter:opacity(alpha=40); neergezet, omdat anders de eerste pagina niet meer te zien is ;))

Het lijkt er op dat MSIE het niet als een 'gewone' pagina rendert... |:(

[ Voor 22% gewijzigd door Verwijderd op 18-05-2003 15:34 ]


Verwijderd

nou lekker is da, ik ben ook een beetje uit ideeen :(
ik ben geen xslt mens (snap het amper) ik zou zeggen: msdn.microsoft.com en dan dagen zoeken ;) :p

Verwijderd

Topicstarter
msdn.microsoft.com
Dacht je dat ik dat nog niet had gedaan; dat doe ik altijd als eerst als het me niet wil lukken ;)

Dit heet ook wel een kick; wellicht dat iemand anders wel een oplossing/idee weet :)

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Ik blijf erbij dat het weinig te maken heeft met het gebruik van xml/xsl maar dat het eerder het gebruik is van een layer icm met een iframe.
Ik denk dan ook dat dit eerder een bug is van IE dan dat het aan je code ligt.
In de search zijn enkele topics te vinden met soortgelijke problemen, misschien dat je daar wat aan hebt :)
[search=dhtml menu iframe]

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Verwijderd

Topicstarter
Het is inderdaad een bug; een oplossing is nog niet bekend. Wanneer je in een frame een XML bestand zet, werkt de handige functie van MSIE5.5+ om layers over een iframe te zetten niet meer. Hopelijk is dit in de volgende MSIE versie wel opgelost :(

Deze bug geldt niet voor XHTML bestanden. Ik heb het probleem dus wel, omdat ik naar een bestand.xml verwijst, die vervolgens weer naar een bestand.xslt verwijst, die er weer een XHTML van maakt ;)

Bedankt allemaal! :)

PS: Enige oplossing is om ín een XHTML bestand met een ActiveXObject XML + XSLT om te zetten in een XHTML bestand. Dit werkt omdat je dan dus niet meer expliciet naar een .xml bestand verwijst. Als je het nog kunt volgen :P
Pagina: 1