【发布时间】:2013-06-12 09:52:55
【问题描述】:
对不起,我是 JavaScript 的新手。如果 are_cookies_enabled() 函数返回 false,我想要一个当前具有 display:none 的 div 来取消隐藏 onload。但是,我的 div 并不是这样说的。如果我将它封装在 jquery onload 中,它本身就可以工作。我做错了什么?
注意 noCookies 中的函数设置为 true(这只是为了查看取消隐藏功能是否有效,因为我启用了 cookie)。
function are_cookies_enabled()
{
var cookieEnabled = (navigator.cookieEnabled) ? true : false;
if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled)
{
document.cookie="testcookie";
cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
}
return (cookieEnabled);
}
function noCookies()
{
if (are_cookies_enabled() == true) {
document.getElementById('nocookie').style.display='block';
}
}
window.onload = noCookies();
DIV:
<div id="nocookie" style="display:none;"><div class="ec-messages messages-warning">This site may not function properly if cookies are disabled. Session variables are stored in cookies. Please enable cookies.</div></div>
【问题讨论】:
-
也许这段代码在 DOM 构建之前运行?
-
啊是的。这是有道理的。我应该在最后执行它吗?有什么建议么?或者只是将 nocookies() 封装在 jquery onload 中
-
我对制作这项工作很感兴趣。我相信我的网站访问量很差,我觉得这将帮助我阻止那些不良访问者。其他人有一些他们认为可行的替代脚本吗?
标签: javascript cookies