Hallo,
Oder könnte ich via Javascript in einem anderen Frame den "Filternamen" auslesen? zB das der Header als Filter hinhalten könnte?
Weiss ich nicht, aber darauf würde ich mich auch nicht verlassen.
»»Wenn ich Deine Beispiele starten will, kommt bei mir immer der Fehler im IE: "Automatisierungsserver kann Objekt nicht erstellen." und es wird nichts angezeigt. Wahrscheinlich hat das mit unseren Sicherheitseinstellungen im Geschäft zu tun,
Ja, das ist eine Frage der Sicherheitseinstellungen.
Und auch eine Sache der verwendeten MSXML-Version "Msxml2.DOMDocument.4.0" benützt explizit die MSXML 4.
Ich habe jetzt mit nur wenig Anpassung das Laden der XML-Datei in Fmrames gemacht:
<html>
<head>
<title>
Untitled
</title>
</head>
<!-- frames -->
<frameset cols="26%,*">
<frame name="NAV" src="nav.html" marginwidth="10" marginheight="10" scrolling="auto" frameborder="1" />
<frameset rows="57%,*">
<frame name="MAIN" src="main.html" marginwidth="10" marginheight="10" scrolling="auto" frameborder="1" />
<frame name="BILD" src="bild.html" marginwidth="10" marginheight="10" scrolling="auto" frameborder="1" />
</frameset>
<noframes>
<body>
</body>
</noframes>
</frameset>
</html>
in nav.html wird dann der Parameter für das XSl gesetzt:
<html>
<head>
<script language="JavaScript" type="text/javascript">
/* FÜR DEN IE */
var objSrcTree, ObjXSLT, objCache;
function init()
{
objSrcTree = new ActiveXObject('MSXML2.DOMDocument.4.0');
objSrcTree.async = false;
objSrcTree.load('xsl-variable-mit-javascript.xml');
objXSLT=new ActiveXObject('MSXML2.FreeThreadedDOMDocument.4.0');
objXSLT.async = false;
objXSLT.load('xsl-variable-mit-javascript.xsl');
objCache = new ActiveXObject("Msxml2.XSLTemplate.4.0");
objCache.stylesheet = objXSLT;
}
function show(title)
{
var objXSLTProc = objCache.createProcessor();
objXSLTProc.input = objSrcTree;
objXSLTProc.addParameter("title", title, "");
objXSLTProc.transform();
parent.frames["MAIN"].document.open();
parent.frames["MAIN"].document.write(objXSLTProc.output);
parent.frames["MAIN"].document.close();
}
</script>
<title>...</title>
</head>
<body onload="init();">
<div>Books reviewed:
<a href="javascript:show('A Good Book')">A Good Book</a>
<a href="javascript:show('A Bad Book')">A Bad Book</a>
<a href="javascript:show('A So-so Book')">A So-so Book</a>
</div>
<div id="output" style="margin:1em"></div>
</body>
</html>
Da ich bei mir den MSXML4 installiert habe (und der läuft etwas anderes unter winXP) habe ich jetzt nicht testen können, wie man den JavaScript für den älteren Syntax anpasst (aber in seiner Beispielseite, macht Thomas M. z.B. genau dies.)
Grüße
Thomas