V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
faceair
V2EX  ›  问与答

创建 XMLHttp 对象的兼容性问题

  •  
  •   faceair · 2014-02-18 20:03:21 +08:00 · 3050 次点击
    这是一个创建于 3935 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们学校教务系统用的是强智的教务系统,系统只能在 ie9- 下工作,在其他浏览器中登陆后会提示不能创建对象。

    我今天仔细查看了网页源代码,发现里面创建XMLHttp对象对象时有个条件默认给关闭了,如果打开这个选项(删掉 && 1 == 2 )应该就能兼容其他浏览器。


    我本地搭环境测试各种奇怪的问题,而我对javascript也不熟,不是太确定问题所在。
    希望各位帮我看下是不是只有这里的问题,如果是的话我就早点向学校报告。

    完整代码: #file-gistfile1-html-L173
    7 条回复    1970-01-01 08:00:00 +08:00
    yyfearth
        1
    yyfearth  
       2014-02-18 20:29:54 +08:00   ❤️ 1
    开兼容模式不行么?不行的话用Sandbox做的IE6或者IETester。实在不行就虚拟机咯。
    就算你打开了那个部分,其他地方还是IE only,比如selectNodes,要彻底支持非IE浏览器工作量估计不小。
    faceair
        2
    faceair  
    OP
       2014-02-18 20:40:24 +08:00 via Android
    @yyfearth 好的,谢了。那我想办法重写个首页好了,别的页面还是没有问题。
    yimity
        3
    yimity  
       2014-02-18 21:01:49 +08:00   ❤️ 1
    嗯,是的,你的想法是对的,把 && 1==2 删掉就可以了。
    faceair
        4
    faceair  
    OP
       2014-02-19 00:53:52 +08:00 via Android
    @yyfearth 对了,我也不一定是要非ie浏览器。现在的关键是版本比较高的ie就用不了了。

    有的ie9可以,有的ie9不能创建对象,原因未知。(
    再往上ie11也不能创建对象,您推测原因有哪些?如果需要支持高版本的ie主要需要修改哪些地方?
    faceair
        5
    faceair  
    OP
       2014-02-19 01:27:20 +08:00 via Android
    @yyfearth 抱歉,之前没有仔细看。我才发现我的浏览器是ie11,我一直以为是ie9…

    好了,我刚才一路降级下来的情况,ie11不能创建对象,ie10没有报错但依旧不能加载菜单,ie9正常显示。

    我查到的资料:

    1.判断if(windows.ActiveXObject)在ie11里面返回false,要用if(windows.ActiveXObject !== undefined),可以解释ie11不能创建对象的问题。

    2.自ie10起ie系列就好像修复了document.getElementById方法,所以代码第273行不能获取到值了。兼容的办法是给每个标签加上id和name,添加菜单的时候也要注意同时添加id和name。

    您看是这样么?有没有什么遗漏的
    yyfearth
        6
    yyfearth  
       2014-02-19 08:21:17 +08:00   ❤️ 1
    @faceair IE11 用兼容模式打不开么?兼容模式那些老IE的API都还是支持的啊 (兼容模式按钮在地址栏的右边)
    另外看到JS里面还用了其他IE专用的API,比如document.all,xml.selectNodes 这些都是非标准
    faceair
        7
    faceair  
    OP
       2014-02-19 19:49:10 +08:00 via Android
    @yyfearth 兼容模式可以打开,但是显示还是有点问题,不过基本可以了。多谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:19 · PVG 14:19 · LAX 22:19 · JFK 01:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.