2
試圖將參數添加到xsl模板以供在導航菜單中使用。從處理器輸出創建對象以追加/ replaceChild
試圖弄清楚如何使用IXSLProcessor留給我的輸出。
我有以下的代碼,完全適用於Firefox的
var xslStylesheet;
var xsltProcessor = new XSLTProcessor();
var myDOM;
var xmlDoc;
var myXMLHTTPRequest = new XMLHttpRequest();
myXMLHTTPRequest.open("GET", "client.xsl", false);
myXMLHTTPRequest.send(null);
xslStylesheet = myXMLHTTPRequest.responseXML;
xsltProcessor.importStylesheet(xslStylesheet);
// load the xml file
myXMLHTTPRequest = new XMLHttpRequest();
myXMLHTTPRequest.open("GET", "client.xml", false);
myXMLHTTPRequest.send(null);
xmlDoc = myXMLHTTPRequest.responseXML;
// set the parameter using the parameter passed to the outputgroup function
xsltProcessor.setParameter(null, "cid", client);
xsltProcessor.setParameter(null, "browser", "other");
var fragment = xsltProcessor.transformToFragment(xmlDoc,document);
document.getElementById("scriptHook").innerHTML = "";
document.getElementById("maincontent").replaceChild(fragment, document.getElementById("scriptHook"));
scroll(0,0);
這是代碼我有(大部分來自MSDN盜竊)
var xslt = new ActiveXObject("Msxml2.XSLTemplate.3.0");
var xsldoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");
var xslproc;
xsldoc.async = false;
xsldoc.load("client.xsl");
if (xsldoc.parseError.errorCode != 0) {
var myErr = xsldoc.parseError;
WScript.Echo("You have error " + myErr.reason);
} else {
xslt.stylesheet = xsldoc;
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmldoc.async = false;
xmldoc.load("client.xml");
if (xmldoc.parseError.errorCode != 0) {
var myErr = xmldoc.parseError;
WScript.Echo("You have error " + myErr.reason);
} else {
xslproc = xslt.createProcessor();
xslproc.input = xmldoc;
xslproc.addParameter("cid", client);
xslproc.addParameter("browser", "ie");
xslproc.transform();
//somehow convert xslproc.output to object that can be used in replaceChild
document.getElementById("scriptHook").innerHTML = "";
document.getElementById("maincontent").replaceChild(xslproc.output, document.getElementById("scriptHook"));
}
}
任何和所有幫助表示讚賞,歡呼聲。
outerHTML eh?我以前沒有遇到過,這是一個MSXML專屬會員嗎? 非常感謝您的答覆,將它放進去,看看它在哪裏做的伎倆。 – user1740125
太棒了,做到了。爲什麼我沒有想到這超出了我!隊友的歡呼聲。 – user1740125
'outerHTML'是自IE 4以來的IE/MSHTML DOM中的一個屬性,我認爲現在也受到其他瀏覽器的支持,Firefox/Mozilla是最後一個https://developer.mozilla.org/en-US/docs /DOM/element.outerHTML來介紹它(據推測,因爲HTML5指定它http://www.w3.org/TR/html5/apis-in-html-documents.html#outerhtml)。 –