Javascript IE11的XSl和XML转换
此代码在IE5中工作,但在IE11中不工作 JSP代码:Javascript IE11的XSl和XML转换,javascript,java,xml,xslt,Javascript,Java,Xml,Xslt,此代码在IE5中工作,但在IE11中不工作 JSP代码: function doTranslate(th,_th,repName,_id){ var trans= XmlXslXform(savRepXsl,_th,'reportName',repName); document.daily_report.criteria_Id.value=_id; try{ lastRow.style.background="#FAFAFA";
function doTranslate(th,_th,repName,_id){
var trans= XmlXslXform(savRepXsl,_th,'reportName',repName);
document.daily_report.criteria_Id.value=_id;
try{
lastRow.style.background="#FAFAFA";
}catch(obj){}
th.style.background = "#DDDDDD";
lastRow = th;
selectDesc.innerHTML = trans.xml;
}
JavaScript代码:
function XmlXslXform(xmlIsland, xslIsland, paramName, paramValue)
{
var objxsltTemplate;
var objxsltProcessor;
var objXSLT2; //FreeThreadedDOMDocument
try
{
objXSLT2 = new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");
objXSLT2.async = false;
objXSLT2.validateOnParse = false;
objXSLT2.loadXML(xslIsland.xml);
objxsltTemplate = new ActiveXObject("MSXML2.XSLTemplate.3.0");
objxsltTemplate.stylesheet = objXSLT2;
objxsltProcessor = objxsltTemplate.createProcessor();
objxsltProcessor.input = xmlIsland;
objxsltProcessor.addParameter(paramName, paramValue);
objxsltProcessor.transform();
return objxsltProcessor.output;
}
catch(e)
{
/ error handling
}
}
为什么一个
尝试而捕获的为空?如果您想获得发生错误的指示,请记录该错误。但是,一般来说,新版本的IE不支持XML数据孤岛(我想您使用的是xslIsland.XML
),您需要使用XMLHttpRequest
或使用load
方法从URL加载XML,例如objXSLT2.load('sheet.xsl')
。感谢您的快速回复,Martin。我的catch块不是空的,我只是没有在这里共享,因为它是自定义错误。