下面的函数在IE8中的第一个if
语句处中断。我不确定是什么原因引起的,因为根据我的研究,这都不会引起问题。我也尝试在toLowerCase()
属性之后添加referrer
方法,仍然没有运气。有任何想法吗?
function returnToLogin() {
if (document.referrer.indexOf('attendant_login') > 0) {
if (thisevent == null) {
window.location = document.referrer;
} else {
setTimeout(returnToLogin, 1000);
}
return true;
}
return false;
}
最佳答案
IE并不总是设置document.referrer
属性。解决方法是在调用方法之前检查它是否已定义。将您的if
更改为:
if (document.referrer&&document.referrer.indexOf('attendant_login') > 0) {
现在,如果
document.referrer
不存在,它将不会尝试在其上调用indexOf
方法,因此不会中断。相反,它将表现得好像测试失败了(我认为这是一个合适的默认值)