代码只能在IE9标准下工作,任何方法都可以降级



代码不工作,直到我手动按下F12,点击文档模式:IE9标准,然后只有它决定工作。(我真的需要解决这个问题,否则我的目标用户每天会点击100次F12,这很烦人。)我知道IE是垃圾,但遗憾的是我没有选择,我的目标受众不喜欢花一秒钟的时间把它改成IE9标准。这是我的代码(它是一个书签)

javascript:(function(){
    a=document.createElement('script');
    a.setAttribute('src','//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js');
    document.body.appendChild(a);
    data='[["#txtapplicantlname","agrawal","text"],["#txtapplicantfname","aayush","text"],["#txtfather","Ranjan","text"],["#txtmother","Neelam","text"],["#txtPincode","452010","text"],["#txtPhone","2147483647","text"],["#txtEmail","aayush@mail.com","text"],["#rdosex_0,#rdosex_1","1","radio"]]';
    for(a=$.parseJSON(data),b=a.length-1;0<=b;b--){
        c=a[b];
        if (c[2] == 'text') {
            console.log(c);
            $(c[0]).val(c[1]);
        } else if (c[2] == 'radio'){
            rdata = c[0].split(',');
            rnum = c[1] - 1;
            select = rdata[rnum];
            $(select).prop('checked', true);
            console.log(select);
        }
    }
})();

注意:如果有人想知道,数据变量被传递为json,因为bookmarklet是动态生成的。它操作的网站是HTTPS,因此我不能使ajax调用到我的服务器或他们被阻止。它的工作是填写网页表单,每次都会生成一个独特的书签。其他浏览器工作得很好,但ie就是喜欢崩溃。代码在我添加单选按钮代码之前工作,我猜它与。prop有关,因为它在控制台中提到了它。

IE在控制台打开之前无法理解console.log。修改console.log

window.console && console.log(...)

每次你打开网页,你的浏览器总是会转到较低版本的IE。解决这个问题的一种方法是,如果你想强迫用户加载最大的IE浏览器版本/chrome版本,你应该在<html>标签

之后实现以下标签
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

这样做可以强制浏览器加载IE9标准

<meta http-equiv="X-UA-Compatible" content="IE=9">

相关内容

最新更新