我正在使用Internet Explorer 7中的XSLT转换XML文档。我的XSLT导入/包含 - 我已经尝试了两种 - 另一个XSLT包含以下行:
<xsl:import href="utils.xsl" />
每次使用包含XSLT时,都会导致对包含文件发出HTTP请求,即使缓存并重新使用对父XSLT的引用也是如此。 IE会在每个请求中为import / include请求发送Pragma: no-cache
标头。
是否可以阻止这些重复的HTTP请求?
为了完整性,这里是相应的转换JavaScript:
var XMLUtil = {
// transforms the sourceStr using the given xslDoc
transformString: function(sourceStr, xslDoc /*XMLDOM doc*/) {
var sourceDoc = XMLUtil.loadFromString(sourceStr);
var resultDoc = new ActiveXObject("Microsoft.XMLDOM");
sourceDoc.transformNodeToObject(xslDoc, resultDoc);
return resultDoc;
},
// creates an XMLDOM document from a string containing XML
loadFromString: function(xml) {
var doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = false;
doc.loadXML(xml);
if (doc.parseError.errorCode != 0)
throw "Error parsing XML: " + doc.parseError.errorCode;
return doc;
}
}
答案 0 :(得分:1)
对similar question的回复建议将ForcedResync设为false。
但Qi Samuel Zhang's回复提醒
ForcedResync应该适用于大多数人 案例,但MSXML3中的ForcedResync 有已知问题可以缓解后退 兼容性,请使用 MSXML2.DOMDocument.6.0尽可能。