代码不起作用,直到我手动点击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调用或者它们被阻止。 它的工作就是填充网页表单,每次都会生成一个独特的书签。其他浏览器工作正常,但Internet Explorer只是喜欢打破.. 在我添加单选按钮代码之前,代码工作正常,我猜它与.prop有关,因为它在控制台中提到它。
答案 0 :(得分:2)
在控制台打开之前,IE无法理解console.log。要将更改console.log
修改为
window.console && console.log(...)
答案 1 :(得分:0)
每次打开页面时,您的浏览器似乎总是使用较低版本的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">