Hallo zusammen,
nach längerer Zeit als interessierter Gastleser, habe ich nun ein hartnäckiges Problem, welches ich hier vorstellen möchte,
Ich bin derzeit mit der Pflege einer existierenden Webapplikation (serverbased) beauftragt, die vom Server gelieferte Daten mittels XML-Strukturen im Browser darstellen und manipulieren soll.
Die bisher gewählte Lösung durch framesets läuft (browserunabhängig) wunderbar, sieht aber etwas "hausbacken" aus und ist für eine Designanpassung nicht wirklich geeignet.
Meine Idee die Oberfläche durch einheitlichen fließenden Hintergrund und Einteilung per divs zu verbessern steht nun in Frage.Angedacht hatte ich, die benötigten Targetbereiche für den Datenaustausch duch transparente iframes zu verwirklichen. Nachdem ich das von Microsoft erfundene Zauberwort "allowtransparency" endlich gefunden hatte, schien alles bestens zu laufen - bis ich XML-Daten durch entsprechende Stylesheets darstellen wollte.
Ich habe das Problem in ein paar Codeschnipseln mal auf das Wesentliche reduziert.
Die folgende index.html beinhaltet zwei transparente divs mit eingebetteten iframes:
frame1 soll eine externe HTML-Datei darstellen (iframe.html):
frame2 eine XML-Struktur D) iframe.xml, die mit dem Stylesheet iframe.xsl eigentlich zu einem ähnlichen Ergebnis führen müßte:
Im Firefox 3++ ist dem auch so, beide frames werden transparent dargestellt. IE7 weigert sich aber beharrlich den XML-frame transparent darzustellen.
Leider ist das offensichtlich auch bei Datenstrukturen, die ser Server liefert so.
Es wirkt kein "allowtransparency", alpha-filter oder ähnliches, was bei HTML-Sourcen zum Erfolgt führt
Vielleicht hat ja hier im Forum jemand ein ähnliches Problem schonmal gelöst
Alternativ wäre es schon hilfreich, wenn ich wüßte, wie man die benötigten Targetbereiche durch andere Mittel (framelos) definieren kann.
Für eure Mühe schon mal meinen Dank. Ich hoffe das Problem kommt rüber und ist durch das Beispiel nachvollziehbar.
nach längerer Zeit als interessierter Gastleser, habe ich nun ein hartnäckiges Problem, welches ich hier vorstellen möchte,
Ich bin derzeit mit der Pflege einer existierenden Webapplikation (serverbased) beauftragt, die vom Server gelieferte Daten mittels XML-Strukturen im Browser darstellen und manipulieren soll.
Die bisher gewählte Lösung durch framesets läuft (browserunabhängig) wunderbar, sieht aber etwas "hausbacken" aus und ist für eine Designanpassung nicht wirklich geeignet.
Meine Idee die Oberfläche durch einheitlichen fließenden Hintergrund und Einteilung per divs zu verbessern steht nun in Frage.Angedacht hatte ich, die benötigten Targetbereiche für den Datenaustausch duch transparente iframes zu verwirklichen. Nachdem ich das von Microsoft erfundene Zauberwort "allowtransparency" endlich gefunden hatte, schien alles bestens zu laufen - bis ich XML-Daten durch entsprechende Stylesheets darstellen wollte.
Ich habe das Problem in ein paar Codeschnipseln mal auf das Wesentliche reduziert.
Die folgende index.html beinhaltet zwei transparente divs mit eingebetteten iframes:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>iframe test</title>
<style type="text/css">
#iframeArea1 {
overflow:auto;
position:absolute;
z-index:1;
top:80px;
left:80px;
bottom:50px;
right:80px;
height:200px;
background:transparent;
}
#iframeArea2 {
overflow:auto;
position:absolute;
z-index:1;
top:380px;
left:80px;
bottom:50px;
right:80px;
height:200px;
background:transparent;
}
</style>
</head>
<body style="background-color:#0000c0;">
<div id="iframeArea1" style="background-color:transparent;">
<iframe id="myIFrame1" src="iframe.html" allowtransparency="true" width="98%" height="98%" frameborder="1" marginheight="0" marginwidth="0" scrolling="no" noresize="noresize"></iframe>
</div>
<div id="iframeArea2" style="background-color:transparent;">
<iframe id="myIFrame2" src="iframe.xml" allowtransparency="true" width="98%" height="98%" frameborder="1" marginheight="0" marginwidth="0" scrolling="no" noresize="noresize"></iframe>
</div>
</body>
</html>
Code:
<?xml version="1.0">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>iframe HTML test</title>
</head>
<body style="background-color:transparent;">
<p align="center" style="color:#00c0c0;">
Transparent HTML iFrame
</p>
</body>
</html>
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="iframe.xsl"?>
<main>
</main>
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="html"
version="4.01"
indent="yes"
omit-xml-declaration="yes"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
encoding="UTF-8"
/>
<xsl:template match="main">
<html>
<head>
<title>iframe XML Test</title>
</head>
<body style="background-color:transparent;">
<p align="center" style="color:#00c0c0;">
Transparent XML iFrame
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Leider ist das offensichtlich auch bei Datenstrukturen, die ser Server liefert so.
Es wirkt kein "allowtransparency", alpha-filter oder ähnliches, was bei HTML-Sourcen zum Erfolgt führt
Vielleicht hat ja hier im Forum jemand ein ähnliches Problem schonmal gelöst
Alternativ wäre es schon hilfreich, wenn ich wüßte, wie man die benötigten Targetbereiche durch andere Mittel (framelos) definieren kann.
Für eure Mühe schon mal meinen Dank. Ich hoffe das Problem kommt rüber und ist durch das Beispiel nachvollziehbar.