Я преобразую XML-документ с помощью XSLT в Internet Explorer 7. Мой XSLT импортирует / включает - я пробовал оба - другой XSLT со следующей строкой:
<xsl:import href="utils.xsl" />
Это приводит кHTTP-запрос для включенного файла каждый раз, когда используется включающий XSLT, даже если ссылка на родительский XSLT кэшируется и используется повторно.IE отправляет заголовок Pragma: no-cache
при каждом запросе на импорт / включение.
Можно ли предотвратить эти повторные HTTP-запросы?
- Можно ли заставить IE кэшировать файл в клиенте?
- Если нет, могу ли я заставить IE отправить заголовок «If-Modified-Since»?
Для полноты вот соответствующее преобразование 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;
}
}