1

Xml Document Object Chrome のクローンを作成しようとすると、IE は正常に動作しますが、Safari ブラウザ バージョン 5.1.7 は null を返します。

以下は私のサンプルコード xml文字列です

var xmlStr="<tr> <td class="dsd">  </td><td class='name'></td></tr>"

var doc=getXmlDoc(xmlStr) (i.e getXmlDoc is my custom function which returns string to doc using DOM Parser)

funtion getXmlDoc(str)
{
parser = new DOMParser();  
xmlDoc = parser.parseFromString(str,"text/xml");
return xmlDoc
}

doc-Document(converted Document)

 d.cloneNode(true)-Returns null


   When i try to clone Entire Document,unable to clone
But d.documentElement.cloneNode(true) works

しかし、ルートノードのクローンを作成しようとすると、できます。

この問題は Safari Browser 5.1.7 でのみテスト済みです。

I am working on ExtJs Framework, where EXt.clone() also returns null

前もってありがとう、プラヴィーンクマール

4

1 に答える 1

0

Safari はドキュメント全体を複製しないため、 documentElement を複製 (サポート) します。例えば

var xmlStr="<tr> <td class="dsd">  </td><td class='name'></td></tr>";
//convert the above string into document
//funtion getXmlDoc(str)
{
parser = new DOMParser();  
xmlDoc = parser.parseFromString(str,"text/xml");
return xmlDoc
}


var newDoc=getXmlDoc(str);
//after Converting str to newDoc 
var copy=newDoc.cloneNode(true);//will return error
//Let see How to Done
var copy=getXmlDoc(getXmlStr(newDoc.documentElement.cloneNode(true)));

Explanation CloneNode method clones a given element, but we need to clone a document so, first we clone elements and convert them string then convert them Doc.

しかし、メモリをほとんど消費しないようです。とにかく、誰もがより良い解決策を提供します。

于 2015-12-26T09:22:47.837 に答える