我需要幫助讓文件在Firefox中運行:我嘗試過修改腳本,以便我的文件可以在IE和Firefox中運行,但到目前爲止它仍然只能在IE中運行。 (該文件可以在http://www.eyle.org/crosstest.html測試 - 只需在使用IE的文本框中字邁克(不工作在Firefox)。該HTML文檔是:XML跨瀏覽器支持
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var xmlDoc;
//loads xml using either IE or firefox
function loadXmlDoc()
{
//test for IE
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load("books2.xml");
}
//test for Firefox
else if(document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("","",null);
xmlDoc.load("books2.xml");
}
//if neither
else
{
document.write("xml file did not load");
}
}
//window.onload = loadXmlDoc();
var subject;
//getDetails adds value of txtField to var subject in outputgroup(subject)
function getDetails()
{
//either this or window.onload = loadXmlDoc is needed
loadXmlDoc();
var subject = document.getElementById("txtField1").value;
function outputgroup(subject)
{
var xslt = new ActiveXObject("Msxml2.XSLTemplate");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
var xslProc;
xslDoc.async = false;
xslDoc.resolveExternals = false;
xslDoc.load("contains3books.xsl");
xslt.stylesheet = xslDoc;
xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
xslProc.addParameter("subj", subject);
xslProc.transform();
document.write(xslProc.output);
}
outputgroup(subject);
}
</script>
</head>
<body>
<input type="text" id="txtField1">
<input type="submit" onClick="getDetails(); return false">
</body>
</html>
該文件包括了Books2.xml和contains3books。 xsl(我已將這些文件的代碼放在... ww.eyle.org/books2.xml ... ww.eyle.org/contains3books.xsl)(注意:用...替換... ww。 WWW)
檢查FF JavaScript錯誤控制檯,你總是與MS的工作具體'ActiveXObject'在outputgroup()。 – 2009-12-27 08:10:24
您可以考慮使用處理所有跨瀏覽器檢查/差異的Sarissa http://dev.abiss.gr/sarissa/(或其他JavaScript庫),併爲您提供一個抽象API。 Sarissa專門用來處理XML/XSLT/XPATH的東西。 – 2009-12-27 17:15:53