zoukankan      html  css  js  c++  java
  • xml解析兼容性问题的避免

    1、引言

    js在处理xml过程中,由于浏览器兼容性问题,要做许多的兼容处理,随着浏览器是升级,大多数浏览器都已经默认保持统一标准,以便于我们日常的开发,然而有了微软的IE这个奇葩的存在,形成了大多数前端开发者的噩梦,最近做的一个项目就踩中一个大坑,IE11和以往的IE6、7、8等既然都不一样,并且没和其他浏览器保持统一标准

    2、问题描述

    前端开发过程中一般希望能全部使用原生js就避免使用封装好的js库,所以在解析xml字符串的过程中一开始选择使用原始js来实现,从w3cSchool找到一段代码,看了下好像实现了功能并且保证了兼容性的代码

    
    function loadXmlString(XmlString) {
        try { // Internet Explorer
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = "false";
            xmlDoc.loadXML(XmlString);
        } catch (e) {
            try { // Firefox, Mozilla, Opera, etc
                //          xmlDoc=document.implementation.createDocument("","",null);
                parser = new DOMParser();
                xmlDoc = parser.parseFromString(XmlString, "text/xml");
            } catch (e) {
                alert(e.message);
            }
        }
        try {
            return (xmlDoc);
        } catch (e) {
            alert(e.message);
        }
        return (null);
    }

    在谷歌火狐以及IE8的测试下正常运行能解析返回一个正常的dom对象,然而提交到测试那边发现此代码在IE11下既然不能正常运行,谷歌搜索了一下IE11不再支持ActiveXObject(“Microsoft.XMLDOM”)这个功能来实现xml字符串的解析返回dom对象,所以为了保证兼容性,选择引入jquery来实现这块功能,避免因为兼容性问题导致功能的不完善

    jQuery.parseXML(data)
    \jquery提供此方法可以解析xml字符并返回一个dom对象
    \注意不是放回jq对象,但是可以和正常的dom对象一样通过转化为jq对象
  • 相关阅读:
    解决.net core 3.1 json日期带T的问题
    C# 将指定得时间转换成秒
    WPF Button按钮的按下和抬起分别触发的事件
    WPF Image图片后台绑定图片,不对图片照成占用
    WPF Textbox漂亮的文本控件框封装
    WPF Slider实现可拖动的时间轴
    .net mvc 下显示PDF文件
    .net core 3.1使用命令自动生成MySQL表对应的实体类
    .net core A generic error occurred in GD 已解决
    WPF 模拟Button按钮事件触发
  • 原文地址:https://www.cnblogs.com/linbingcheng/p/6804518.html
Copyright © 2011-2022 走看看