您好,这段代码似乎在所有浏览器中都能正常工作,只有 Windows 7 中的 Firefox 出现此问题,在 Windows 8 (Firefox 28,29) 中则正常。所以我不明白
这是我没有写的页面,但我正在修复一些问题,这个特定的错误超出了我的知识范围,而且还非常基本。
所以 Firefox 给出了这个错误
ReferenceError:未定义 autoExpire。
我的第一个想法是定义 var autoExpire;在 JavaScript 中。但是再看代码有一个函数autoExpire()是这个问题吗?为什么在其他浏览器中可以工作,为什么在 Windows 7 上不能工作?
希望你能帮助我,这是代码。
if(Get_Cookie('<?php echo COOKIE_REMEMBER_ME;?>') ==0)
{
if(Get_Cookie('<?php echo COOKIE_LOGINID;?>'))
var aexp=setInterval(autoExpire,10000);
if(!autocount)
{
var autocount;
autocount=0;
}
function autoExpire()
{
autocount=autocount+1;
if(autocount > parseInt(<?php echo COOKIE_EXPIRY_TIME*6;?>))
{
clearInterval(aexp);
window.location.href='<?php echo $this->make_base_url("user/logout/a");?>';
}
}
}
编辑
是的,这个函数在里面
$(document).ready(function() {
}
对于其他函数,我能看到的唯一错误是这就是为什么我只是复制有错误的函数。
最佳答案
您在定义函数之前调用该函数。
试试这个。
if (Get_Cookie('<?php echo COOKIE_REMEMBER_ME;?>') == 0) {
if (Get_Cookie('<?php echo COOKIE_LOGINID;?>'))
function autoExpire() {
autocount = autocount + 1;
if (autocount > parseInt( <? php echo COOKIE_EXPIRY_TIME * 6; ?> )) {
clearInterval(aexp);
window.location.href = '<?php echo $this->make_base_url("user/logout/a");? >';
}
}
var aexp = setInterval(autoExpire, 10000);
if (!autocount) {
var autocount;
autocount = 0;
}
}
关于Firefox windows 7 中的 javascript 错误,在其他浏览器和操作系统中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23547609/