📄 overview-summary-sarissa_ieemu_load.js.html
字号:
}; <span class="reserved">if</span>(window.XMLDocument){ <span class="comment">/** * <p>Keeps a handle to the original load() method. Internal use and only * if Mozilla version is lower than 1.4</p> * <span class="attrib">@private</span> */</span> XMLDocument.<span class="reserved">prototype</span>._sarissa_load = XMLDocument.<span class="reserved">prototype</span>.load; <span class="comment">// NOTE: setting async to false will only work with documents</span> <span class="comment">// called over HTTP (meaning a server), not the local file system,</span> <span class="comment">// unless you are using Moz 1.4+.</span> <span class="comment">/** * <p>This is deprecated, use XMLHttpRequest to load remote documents instead. * Overrides the original load method to provide synchronous loading for * Mozilla versions prior to 1.4 and fix ready state stuff.</p> * <span class="attrib">@deprecated</span> * <span class="attrib">@returns</span> the DOM Object as it was before the load() call (may be empty) */</span> XMLDocument.<span class="reserved">prototype</span>.load = <span class="reserved">function</span>(sURI) { var oDoc = Sarissa.getDomDocument(); Sarissa.copyChildNodes(<span class="reserved">this</span>, oDoc); <span class="reserved">this</span>.parseError.errorCode = 0; Sarissa.__setReadyState__(<span class="reserved">this</span>, 1); try { <span class="reserved">if</span>(<span class="reserved">this</span>.async == false && _SARISSA_SYNC_NON_IMPLEMENTED) { var tmp = new XMLHttpRequest(); tmp.open(<span class="literal">"GET"</span>, sURI, false); tmp.send(null); Sarissa.__setReadyState__(<span class="reserved">this</span>, 2); Sarissa.copyChildNodes(tmp.responseXML, <span class="reserved">this</span>); Sarissa.__setReadyState__(<span class="reserved">this</span>, 3); }<span class="reserved">else</span>{ <span class="reserved">this</span>._sarissa_load(sURI); }; } catch (objException) { oDoc.parseError.errorCode = -1; } finally { <span class="reserved">if</span> (!oDoc.documentElement || oDoc.documentElement.tagName == <span class="literal">"parsererror"</span>){ oDoc.parseError.errorCode = -1; }; <span class="reserved">if</span>(<span class="reserved">this</span>.async == false){ Sarissa.__handleLoad__(<span class="reserved">this</span>); }; }; <span class="reserved">return</span> oDoc; }; <span class="comment">//if(window.XMLDocument) , now mainly for opera </span> }<span class="comment">// TODO: check if the new document has content before trying to copynodes, check for error handling in DOM 3 LS</span> <span class="reserved">else</span> <span class="reserved">if</span>(document.implementation && document.implementation.hasFeature && document.implementation.hasFeature(<span class="literal">'LS'</span>, <span class="literal">'3.0'</span>)){ Document.<span class="reserved">prototype</span>.async = true; Document.<span class="reserved">prototype</span>.onreadystatechange = null; Document.<span class="reserved">prototype</span>.load = <span class="reserved">function</span>(sURI) { var oldDoc = Sarissa.getDomDocument(); Sarissa.copyChildNodes(<span class="reserved">this</span>, oldDoc, false); var parser = document.implementation.createLSParser(<span class="reserved">this</span>.async ? document.implementation.MODE_ASYNCHRONOUS : document.implementation.MODE_SYNCHRONOUS, null); <span class="reserved">if</span>(<span class="reserved">this</span>.async){ var self = <span class="reserved">this</span>; parser.addEventListener(<span class="literal">"load"</span>, <span class="reserved">function</span>(e) { self.readyState = 4; Sarissa.copyChildNodes(e.newDocument, self, false); self.onreadystatechange.call(); }, false); }; try { var oDoc = parser.parseURI(sURI); <span class="reserved">if</span>(!<span class="reserved">this</span>.async) { Sarissa.copyChildNodes(oDoc, <span class="reserved">this</span>, false); }; } catch(e){ <span class="reserved">this</span>.parseError.errorCode = -1; }; <span class="reserved">return</span> oldDoc; }; <span class="comment">/** * <p>Factory method to obtain a new DOM Document object</p> * <span class="attrib">@argument</span> sUri the namespace of the root node (if any) * <span class="attrib">@argument</span> sUri the local name of the root node (if any) * <span class="attrib">@returns</span> a new DOM Document */</span> Sarissa.getDomDocument = <span class="reserved">function</span>(sUri, sName){ var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null); <span class="reserved">if</span>(!oDoc.parseError){ oDoc.parseError = {errorCode:0}; }; <span class="reserved">return</span> oDoc; }; } <span class="reserved">else</span> { Sarissa.getDomDocument = <span class="reserved">function</span>(sUri, sName){ var oDoc = document.implementation.createDocument(sUri?sUri:null, sName?sName:null, null); <span class="comment">// looks like safari does not create the root element for some unknown reason</span> <span class="reserved">if</span>(oDoc && (sUri || sName) && !oDoc.documentElement){ oDoc.appendChild(oDoc.createElementNS(sUri, sName)); }; <span class="comment">// attachb to the new object as we have no prototype to use, this is for safari</span> <span class="reserved">if</span>(!oDoc.load) { oDoc.load = <span class="reserved">function</span>(sUrl) { var oldDoc = document.implementation.createDocument(); Sarissa.copyChildNodes(<span class="reserved">this</span>, oldDoc); <span class="reserved">this</span>.parseError = {errorCode : 0}; Sarissa.__setReadyState__(<span class="reserved">this</span>, 1); <span class="reserved">if</span>(<span class="reserved">this</span>.async == false) { var tmp = new XMLHttpRequest(); tmp.open(<span class="literal">"GET"</span>, sUrl, false); tmp.send(null); Sarissa.__setReadyState__(<span class="reserved">this</span>, 2); Sarissa.copyChildNodes(tmp.responseXML, oDoc); <span class="reserved">if</span>(!oDoc.documentElement || oDoc.getElementsByTagName(<span class="literal">"parsererror"</span>).length >0){ oDoc.parseError.errorCode = -1; }; Sarissa.__setReadyState__(<span class="reserved">this</span>, 3); Sarissa.__setReadyState__(<span class="reserved">this</span>, 4); } <span class="reserved">else</span> { var xmlhttp = new XMLHttpRequest(); xmlhttp.open(<span class="literal">'GET'</span>, sUrl, true); xmlhttp.onreadystatechange = <span class="reserved">function</span>(){ <span class="reserved">if</span> (xmlhttp.readyState == 4) { Sarissa.copyChildNodes(xmlhttp.responseXML, oDoc); <span class="reserved">if</span>(!oDoc.documentElement || oDoc.getElementsByTagName(<span class="literal">"parsererror"</span>).length > 0){ oDoc.parseError.errorCode = -1; }; }; Sarissa.__setReadyState__(oDoc, xmlhttp.readyState); }; xmlhttp.send(null); }; <span class="reserved">return</span> oldDoc; }; }; <span class="reserved">return</span> oDoc; }; }; };<span class="comment">//if(_SARISSA_HAS_DOM_CREATE_DOCUMENT)</span>};<span class="comment">// EOF</span></pre> <hr><!-- ========== START OF NAVBAR ========== --><a name="navbar_top"><!-- --></a><table border="0" width="100%" cellpadding="1" cellspacing="0"><tr><td colspan=2 bgcolor="#b8cade" class="NavBarCell1"><a name="navbar_top_firstrow"><!-- --></a><table border="0" cellpadding="0" cellspacing="3"> <tr align="center" valign="top"> <td bgcolor="#b8cade" class="NavBarCell1"> <a href="overview-summary.html"><font class="NavBarFont1"><b>Overview</b></font></a> </td> <td bgcolor="#FFFFFF" class="NavBarCell1Rev"> <font class="NavBarFont1Rev"><b>File</b></font> </td> <td bgcolor="#FFFFFF" class="NavBarCell1"> <font class="NavBarFont1">Class</font> </td> <td bgcolor="#b8cade" class="NavBarCell1"> <a href="overview-tree.html"><font class="NavBarFont1"><b>Tree</b></font></a> </td> <td bgcolor="#b8cade" class="NavBarCell1"> <a href="index-all.html"--><font class="NavBarFont1"><b>Index</b></font></a> </td> <td bgcolor="#b8cade" class="NavBarCell1"> <a href="help-doc.html"><font class="NavBarFont1"><b>Help</b></font></a> </td> </tr></table></td><td bgcolor="#b8cade" align="right" valign="top"><em><b>sarissa</b></em></td></tr><tr><td bgcolor="#eeeeee" class="NavBarCell2"><font size="-2"> PREV NEXT</font></td><td bgcolor="#eeeeee" class="NavBarCell2"><font size="-2"> <a href="index.html" target="_top"><b>FRAMES</b></a> <a href="overview-summary.html" target="_top"><b>NO FRAMES</b></a> <script> <!-- if(window==top) { document.writeln('<A HREF="allclasses-noframe.html" TARGET=""><B>All Classes</B></A>'); } //--></script><noscript><a href="allclasses-noframe.html" target=""><b>All Classes</b></a></noscript></font></td></tr></table><!-- =========== END OF NAVBAR =========== --><hr><font size="-1"></font><div class="jsdoc_ctime">Documentation generated by <a href="http://jsdoc.sourceforge.net/" target="_parent">JSDoc</a> on Thu Nov 30 22:06:11 2006</div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -