javascript - 为什么这段代码在IE下面会报错??
本文介绍了javascript - 为什么这段代码在IE下面会报错??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://cdn.bootcss.com/jquery/2.2.2/jquery.min.js"></script>
</head>
<body>
<button id="btn">获取验证码</button>
<script type="text/javascript">
window.onload=function(){
function countDown(params) {
this.params = params || {};
var obj = params.obj;
var deText = params.deText || "获取验证码";
var delay = params.delay || 60;
//点击按钮触发
obj.click(function() {
if (obj.text() == deText) {
setLocalDelay(delay);
downProcess(obj, delay);
} else {
return false;
}
});
//页面刷新后继续倒计时
var LocalDelay = getLocalDelay();
var timeLine = parseInt((new Date().getTime() - LocalDelay.time) / 1000);
if (timeLine <= LocalDelay.delay) {
var newDelay = LocalDelay.delay - timeLine;
downProcess(obj, newDelay);
}
function downProcess(obj, delay) {
obj.text("重新发送(" + delay + "s)").attr("disabled", true);
var timer = setInterval(function() {
if (delay > 1) {
delay--;
obj.text("重新发送(" + delay + "s)");
setLocalDelay(delay);
} else {
clearInterval(timer);
obj.text(deText).removeAttr("disabled");
}
},
1000);
}
//设置 localStorage
function setLocalDelay(delay) {
//location.href作为页面的唯一标识,可能一个项目中会有很多页面需要获取验证码。
localStorage.setItem("delay_" + location.href, delay); //保存倒计时余下时间
localStorage.setItem("time_" + location.href, new Date().getTime()); //当前时间
}
//获取 localStorage
function getLocalDelay() {
var LocalDelay = {
delay: localStorage.getItem("delay_" + location.href),
//获取储存的余下时间
time: localStorage.getItem("time_" + location.href) //获取储存的"当前时间"
};
return LocalDelay;
}
}
countDown({
obj:$("#btn")
});
};
</script>
</body>
</html>
在chrome firefox opera等等浏览器下能正常运行!!!唯独到IE下面就报错(我用的IE11测试的),
我不知道是不是我的IE浏览器有问题??求大家把代码复制到你们的ie下测试下,告诉我是我的ie浏览器有问题还是兼容原因,谢谢!
解决方案
$ not defined
应该是网络问题,jquery
没有加载进来
localstorage为null
localStorage
在ie8下不支持,会报错, http://caniuse.com/#search=lo...
ie测试localStorage
需要在服务器下测试,本地测试不行。所以你直接打开html测试会报错。
这篇关于javascript - 为什么这段代码在IE下面会报错??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文