⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 overview-summary-sarissa.js.html

📁 sarissa用于支持多浏览器的浏览及编程
💻 HTML
📖 第 1 页 / 共 4 页
字号:
        <span class="reserved">if</span>(<span class="reserved">this</span>.paramsSet[nsURI] &amp;&amp; <span class="reserved">this</span>.paramsSet[nsURI][name]){            <span class="reserved">return</span> <span class="reserved">this</span>.paramsSet[nsURI][name];        }<span class="reserved">else</span>{            <span class="reserved">return</span> null;        };    };    <span class="comment">/**     * Clear parameters (set them to default values as defined in the stylesheet itself)     */</span>    XSLTProcessor.<span class="reserved">prototype</span>.clearParameters = <span class="reserved">function</span>(){        <span class="reserved">for</span>(var nsURI in <span class="reserved">this</span>.paramsSet){            <span class="reserved">for</span>(var name in <span class="reserved">this</span>.paramsSet[nsURI]){                <span class="reserved">if</span>(nsURI){                    <span class="reserved">this</span>.processor.addParameter(name, null, nsURI);                }<span class="reserved">else</span>{                    <span class="reserved">this</span>.processor.addParameter(name, null);                };            };        };        <span class="reserved">this</span>.paramsSet = new Array();    };}<span class="reserved">else</span>{ <span class="comment">/* end IE initialization, try to deal with real browsers now ;-) */</span>    <span class="reserved">if</span>(_SARISSA_HAS_DOM_CREATE_DOCUMENT){        <span class="comment">/**         * &lt;p&gt;Ensures the document was loaded correctly, otherwise sets the         * parseError to -1 to indicate something went wrong. Internal use&lt;/p&gt;         * <span class="attrib">@private</span>         */</span>        Sarissa.__handleLoad__ = <span class="reserved">function</span>(oDoc){            Sarissa.__setReadyState__(oDoc, 4);        };        <span class="comment">/**        * &lt;p&gt;Attached by an event handler to the load event. Internal use.&lt;/p&gt;        * <span class="attrib">@private</span>        */</span>        _sarissa_XMLDocument_onload = <span class="reserved">function</span>(){            Sarissa.__handleLoad__(<span class="reserved">this</span>);        };        <span class="comment">/**         * &lt;p&gt;Sets the readyState property of the given DOM Document object.         * Internal use.&lt;/p&gt;         * <span class="attrib">@private</span>         * <span class="attrib">@argument</span> oDoc the DOM Document object to fire the         *          readystatechange event         * <span class="attrib">@argument</span> iReadyState the number to change the readystate property to         */</span>        Sarissa.__setReadyState__ = <span class="reserved">function</span>(oDoc, iReadyState){            oDoc.readyState = iReadyState;            oDoc.readystate = iReadyState;            <span class="reserved">if</span> (oDoc.onreadystatechange != null &amp;&amp; typeof oDoc.onreadystatechange == <span class="literal">"function"</span>)                oDoc.onreadystatechange();        };        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.onreadystatechange){                            <span class="comment">/**                * &lt;p&gt;Emulate IE's onreadystatechange attribute&lt;/p&gt;                */</span>                oDoc.onreadystatechange = null;            };            <span class="reserved">if</span>(!oDoc.readyState){                <span class="comment">/**                * &lt;p&gt;Emulates IE's readyState property, which always gives an integer from 0 to 4:&lt;/p&gt;                * &lt;ul&gt;&lt;li&gt;1 == LOADING,&lt;/li&gt;                * &lt;li&gt;2 == LOADED,&lt;/li&gt;                * &lt;li&gt;3 == INTERACTIVE,&lt;/li&gt;                * &lt;li&gt;4 == COMPLETED&lt;/li&gt;&lt;/ul&gt;                */</span>                oDoc.readyState = 0;            };            oDoc.addEventListener(<span class="literal">"load"</span>, _sarissa_XMLDocument_onload, false);            <span class="reserved">return</span> oDoc;        };        <span class="reserved">if</span>(window.XMLDocument){            <span class="comment">// do nothing</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>(_SARISSA_HAS_DOM_FEATURE &amp;&amp; window.Document &amp;&amp; !Document.<span class="reserved">prototype</span>.load &amp;&amp; document.implementation.hasFeature(<span class="literal">'LS'</span>, <span class="literal">'3.0'</span>)){            <span class="comment">//Opera 9 may get the XPath branch which gives creates XMLDocument, therefore it doesn't reach here which is good</span>            <span class="comment">/**            * &lt;p&gt;Factory method to obtain a new DOM Document object&lt;/p&gt;            * <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">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 &amp;&amp; (sUri || sName) &amp;&amp; !oDoc.documentElement){                    oDoc.appendChild(oDoc.createElementNS(sUri, sName));                };                <span class="reserved">return</span> oDoc;            };        };    };<span class="comment">//if(_SARISSA_HAS_DOM_CREATE_DOCUMENT)</span>};<span class="comment">//==========================================</span><span class="comment">// Common stuff</span><span class="comment">//==========================================</span><span class="reserved">if</span>(!window.DOMParser){    <span class="reserved">if</span>(_SARISSA_IS_SAFARI){        <span class="comment">/*         * DOMParser is a utility class, used to construct DOMDocuments from XML strings         * <span class="attrib">@constructor</span>         */</span>        DOMParser = <span class="reserved">function</span>() { };        <span class="comment">/**         * Construct a new DOM Document from the given XMLstring        * <span class="attrib">@param</span> sXml the given XML string        * <span class="attrib">@param</span> contentType the content type of the document the given string represents (one of text/xml, application/xml, application/xhtml+xml).         * <span class="attrib">@return</span> a new DOM Document from the given XML string        */</span>        DOMParser.<span class="reserved">prototype</span>.parseFromString = <span class="reserved">function</span>(sXml, contentType){            var xmlhttp = new XMLHttpRequest();            xmlhttp.open(<span class="literal">"GET"</span>, <span class="literal">"data:text/xml;charset=utf-8,"</span> + encodeURIComponent(sXml), false);            xmlhttp.send(null);            <span class="reserved">return</span> xmlhttp.responseXML;        };    }<span class="reserved">else</span> <span class="reserved">if</span>(Sarissa.getDomDocument &amp;&amp; Sarissa.getDomDocument() &amp;&amp; Sarissa.getDomDocument(null, <span class="literal">"bar"</span>).xml){        DOMParser = <span class="reserved">function</span>() { };        DOMParser.<span class="reserved">prototype</span>.parseFromString = <span class="reserved">function</span>(sXml, contentType){            var doc = Sarissa.getDomDocument();            doc.loadXML(sXml);            <span class="reserved">return</span> doc;        };    };};<span class="reserved">if</span>((typeof(document.importNode) == <span class="literal">"undefined"</span>) &amp;&amp; _SARISSA_IS_IE){    try{        <span class="comment">/**        * Implementation of importNode for the context window document in IE        * <span class="attrib">@param</span> oNode the Node to import        * <span class="attrib">@param</span> bChildren whether to include the children of oNode        * <span class="attrib">@returns</span> the imported node for further use        */</span>        document.importNode = <span class="reserved">function</span>(oNode, bChildren){            var tmp;            <span class="reserved">if</span>(oNode.nodeName == <span class="literal">"tbody"</span> || oNode.nodeName == <span class="literal">"tr"</span>){                tmp = document.createElement(<span class="literal">"table"</span>);            }            <span class="reserved">else</span> <span class="reserved">if</span>(oNode.nodeName == <span class="literal">"td"</span>){                tmp = document.createElement(<span class="literal">"tr"</span>);            }            <span class="reserved">else</span> <span class="reserved">if</span>(oNode.nodeName == <span class="literal">"option"</span>){                tmp = document.createElement(<span class="literal">"select"</span>);            }            <span class="reserved">else</span>{                tmp = document.createElement(<span class="literal">"div"</span>);            };            <span class="reserved">if</span>(bChildren){                tmp.innerHTML = oNode.xml ? oNode.xml : oNode.outerHTML;            }<span class="reserved">else</span>{                tmp.innerHTML = oNode.xml ? oNode.cloneNode(false).xml : oNode.cloneNode(false).outerHTML;            };            <span class="reserved">return</span> tmp.getElementsByTagName(<span class="literal">"*"</span>)[0];        };    }catch(e){ };};<span class="reserved">if</span>(!Sarissa.getParseErrorText){    <span class="comment">/**     * &lt;p&gt;Returns a human readable description of the parsing error. Usefull     * for debugging. Tip: append the returned error string in a &amp;lt;pre&amp;gt;     * element if you want to render it.&lt;/p&gt;     * &lt;p&gt;Many thanks to Christian Stocker for the initial patch.&lt;/p&gt;     * <span class="attrib">@argument</span> oDoc The target DOM document     * <span class="attrib">@returns</span> The parsing error description of the target Document in     *          human readable form (preformated text)     */</span>    Sarissa.getParseErrorText = <span class="reserved">function</span> (oDoc){        var parseErrorText = Sarissa.PARSED_OK;        <span class="reserved">if</span>(!oDoc.documentElement){            parseErrorText = Sarissa.PARSED_EMPTY;        } <span class="reserved">else</span> <span class="reserved">if</span>(oDoc.documentElement.tagName == <span class="literal">"parsererror"</span>){            parseErrorText = oDoc.documentElement.firstChild.data;            parseErrorText += <span class="literal">"\n"</span> +  oDoc.documentElement.firstChild.nextSibling.firstChild.data;        } <span class="reserved">else</span> <span class="reserved">if</span>(oDoc.getElementsByTagName(<span class="literal">"parsererror"</span>).length &gt; 0){            var parsererror = oDoc.getElementsByTagName(<span class="literal">"parsererror"</span>)[0];            parseErrorText = Sarissa.getText(parsererror, true)+<span class="literal">"\n"</span>;        } <span class="reserved">else</span> <span class="reserved">if</span>(oDoc.parseError &amp;&amp; oDoc.parseError.errorCode != 0){            parseErrorText = Sarissa.PARSED_UNKNOWN_ERROR;        };        <span class="reserved">return</span> parseErrorText;    };};Sarissa.getText = <span class="reserved">function</span>(oNode, deep){    var s = <span class="literal">""</span>;    var nodes = oNode.childNodes;    <span class="reserved">for</span>(var i=0; i &lt; nodes.length; i++){        var node = nodes[i];        var nodeType = node.nodeType;        <span class="reserved">if</span>(nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE){            s += node.data;        } <span class="reserved">else</span> <span class="reserved">if</span>(deep == true                    &amp;&amp; (nodeType == Node.ELEMENT_NODE                        || nodeType == Node.DOCUMENT_NODE                        || nodeType == Node.DOCUMENT_FRAGMENT_NODE)){            s += Sarissa.getText(node, true);        };    };    <span class="reserved">return</span> s;};<span class="reserved">if</span>(!window.XMLSerializer     &amp;&amp; Sarissa.getDomDocument 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -