2012-02-07 11 views
1

クライアントサイドXSLTを頻繁に使用するWebサイトがありますが、その中にはJavaScriptが含まれています。このサイトはIEでしか動作しませんが、クロスブラウザーにしようとしています。 XSL文書は、XML島として読み込まれますが、私はそれが代わりにjQueryのを使用するように変更されました:クライアントサイドのXSLT(XSLにはJSLeryがロードされているときにXSLにjavascriptが含まれています)

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のランタイムエラー: オブジェクトが ライン= 1を必要なMicrosoft JScriptのランタイムエラー、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; 

答えて

関連する問題