我有一个经常使用客户端XSLT的网站,其中一些包含javascript。该网站仅适用于IE,但我试图让它跨浏览器。 XSL文件已作为xml岛加载,但我将其更改为使用JQuery:
function loadIndividualXML(name, src) {
var request = {
url: src,
dataType: "xml",
async: false
};
window[name]=$.ajax(request).responseXML;
}
这在不包含javascript的XSL上工作正常,但在失败的情况下失败了。转换代码是:
var xmlDomXML = new ActiveXObject("Msxml2.DOMDocument");
xmlDomXML.async = false;
xmlDomXML.load(XMLdata);
var xmlDomResult = new ActiveXObject("Msxml2.DOMDocument");
// xmlDomXSL already loaded with function above
xmlDomXML.transformNodeToObject(xmlDomXSL, xmlDomResult);
错误是:
Microsoft JScript运行时错误:Microsoft JScript运行时错误 所需对象 line = 1,col = 0(行从脚本块的开头偏移)。 从属性或方法调用返回错误。
XSL的开头如下所示:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:script language="JavaScript"><![CDATA[
var totalRows = 0;
var rowCount = 0;
var columnsDesired = 3;
答案 0 :(得分:0)
使用http://www.w3.org/1999/XSL/Transform作为跨浏览器转换的命名空间。在方法调用之前使用msxsl:script
代替xsl:script
并在script.
之前添加。