firefox chrome ie9,10,11 不支持selectSingleNode和selectNodes的解决方法

简介: firefox并不支持selectSingleNode和selectNodes的解决方法 function test(){ var perid = document.

firefox并不支持selectSingleNode和selectNodes的解决方法

function test(){   
         var perid = document.thisForm.PerID.value;   
           
         var xml="test";   
         if(window.ActiveXObject){      
             var xml=new ActiveXObject("Microsoft.XMLDOM");   
             xml.async=false;   
             xml.load("xxxx.xml");   
               
               
         }else if((typeof document.implementation != 'undefined')&&   
             (typeof document.implementation.createDocument!='undefined')){      
             xml = document.implementation.createDocument("", "", null);   
  
             xml.async=false;   
             xml.load("xxxx.xml");   
  
               
            //firefox并不支持selectSingleNode和selectNodes方法;下面两段是用XPath来解决firefox模拟selectSingleNode和selectNodes方法,正确性有待解决   
             XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function (xpath){   
                  var   x = this .selectNodes(xpath)   
                 if ( ! x || x.length < 1 ) return   null ;   
                 return   x[ 0 ];   
             }   
             XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath){   
                  var   xpe   =   new   XPathEvaluator();   
                  var   nsResolver   =   xpe.createNSResolver( this .ownerDocument   ==   null    ?   
                     this .documentElement :  this .ownerDocument.documentElement);   
                  var   result   =   xpe.evaluate(xpath,  this , nsResolver,  0 ,  null );   
                  var   found   =   [];   
                  var   res;   
                 while   (res   =   result.iterateNext())   
                     found.push(res);   
                 return   found;   
             }   
               
               
         }     
        //下面就可以用selectSingleNode和selectNodes方法   
         var row=null;   
       
        if(perid.substring(0,5)=="NO" && perid.length==9){   
             row=xml.selectSingleNode("root/row[@ID='"+perid+"']");   
            if (row!=null){   
                 document.thisForm.MenuColor.value=row.getAttribute("CssFileName");   
                 ChangeBgColor(document.thisForm.MenuColor.value);   
             }   
         }   
          
     }  

 

 

相关文章
|
Web App开发 JavaScript 前端开发
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示
730 0
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示
|
Web App开发 JavaScript
JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)
JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)
1174 0
|
Web App开发 前端开发
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
|
Web App开发 缓存 网络协议
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
541 0
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
|
Web App开发 安全
接口框架中WebDriver启动IE、Firefox和Chrome浏览器
接口框架中WebDriver启动IE、Firefox和Chrome浏览器
接口框架中WebDriver启动IE、Firefox和Chrome浏览器
|
Web App开发 数据采集 Python
通过爬虫中的selenium控制chrome,Firefox等浏览器自动操作获取相关信息
在pycharm中导入selenium之后,我们需要通过命令行来进行操作浏览器
通过爬虫中的selenium控制chrome,Firefox等浏览器自动操作获取相关信息
|
Web App开发
Chrome 浏览器降级后浏览网站不保留用户数据问题原因及解决方法
Chrome 浏览器降级后浏览网站不保留用户数据问题原因及解决方法
236 0
Chrome 浏览器降级后浏览网站不保留用户数据问题原因及解决方法
|
Web App开发 JavaScript 前端开发
JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法
JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法
935 0
JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法
|
Web App开发 JavaScript 前端开发
JavaScript 技术篇-chrome利用ClipboardEvent写入剪切板,chrome写入剪切板不成功解决方法
JavaScript 技术篇-chrome利用ClipboardEvent写入剪切板,chrome写入剪切板不成功解决方法
496 0
JavaScript 技术篇-chrome利用ClipboardEvent写入剪切板,chrome写入剪切板不成功解决方法
|
Web App开发 JSON 小程序
如何在谷歌chrome、Firefox等浏览器打开、编辑、保存微软Office、金山WPS文档?
在2015年的主流浏览器版本中,因为可以直接调用微软开源的 ActiveX控件,可以实现微软Office软件的在线编辑及审阅功能,但是从2015年开始,各大主流浏览器先后取消了对 NPAPI插件,导致在线编辑Office软件成为了一个难题。虽然后来有商业公司开发的相关控件,但是还是无法 克服ActiveX控件固有的缺陷,不仅限制了浏览器的版本,还需要用户单独设置浏览器安全设置,导致用户体验极差。
550 0
如何在谷歌chrome、Firefox等浏览器打开、编辑、保存微软Office、金山WPS文档?