所以我的网站管理员面板上有很长一段时间的JavaScript。几乎所有东西似乎都有效...直到我添加此功能!我是从W3Schools那里得到的,这就是为什么我很惊讶。尽管我的所有盯着和语法突出显示,我找不到任何语法错误或任何东西,所以我完全不知道为什么这会杀死我的脚本。
function getCookie(c_name)
{
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++)
{
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x === c_name)
{
return unescape(y);
}
}
}
基本上,如果我将其添加到脚本中,Firebug会给我一个Reference Error, FUNCTIONNAME is not defined
,其中FUNCTIONNAME
是其他函数的调用。但是,如果我从脚本中注释掉这段代码片段,我就不再收到错误了。
为什么这个功能会这样做?怎么了?
答案 0 :(得分:0)
unescape()已被弃用,您的浏览器可能无法识别吗?此外,只需尝试注释掉一些代码行,直到将其缩小到发生错误的位置。
答案 1 :(得分:0)
呃,发现了问题,它实际上与我提供的代码片段没有关系。后来,当我调用脚本时,它是if语句的一部分,如下所示:
if (getCookie("menu_maindiv"))
{
/* .... */
}
然而,这似乎不起作用。将值设置为等于修复问题,如下所示:
if (getCookie("menu_maindiv") !== NULL)
{
/* .... */
}
我很惊讶这会解决它,但JavaScript一直是我的弱点。谢谢你们,伙计们。 :/