У меня есть веб-сайт, который часто использует клиентский XSLT, некоторые из которых содержат JavaScript.Сайт работает только в IE, но я пытаюсь сделать его кроссбраузерным.Документы XSL были загружены как xml острова, но я изменил это, чтобы использовать вместо этого JQuery:
function loadIndividualXML(name, src) {
var request = {
url: src,
dataType: "xml",
async: false
};
window[name]=$.ajax(request).responseXML;
}
Это прекрасно работает на XSL, который не содержит javascript, но не работает на том, который делает.Код преобразования:
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 Требуемая строка объекта = 1, столбец = 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;