【发布时间】:2016-02-26 00:38:09
【问题描述】:
我有一个 Drupal 7 本地网站,该网站有一篇文章,并且在第一页上有一个弹出窗口指向该文章。在那篇文章中,我还有一个按钮,当用户单击该按钮时,我希望网站能够“记住”用户并且不再显示弹出窗口。我想我可以更改按钮的文本并将其存储为 cookie。 这是按钮的代码:
<button id="test" value="test" onclick="Press()">Press Here</button>
<script>
function Press() {
var test= document.getElementById("test");
test.innerHTML="Thank you";
document.cookie = "Inner"= + test.value +"; expires=Fri, 5 Aug 2016 01:00:00 UTC;";}
</script>
这是处理弹窗的外部js文件的代码:
function openColorBox(){
if (document.cookie.length != 0){
var buttonvaluearray = document.cookie.split("=");
document.getElementById("test").innerHTML = buttonvaluearray[1];
}
if (test.innerHTML != "Thank you"){
document.getElementById("popup").style.visibility = "visible";
document.onclick= function(){
document.getElementById("popup").style.visibility = "hidden";
}
}
}
setTimeout(openColorBox, 5000);
但是当我加载页面时,弹出窗口照常显示,但按钮的文本立即从“Press here”变为“0; Drupal.toolbar.collapsed”。我是一名新的 Web 开发人员,所以我确信我用于 cookie 创建/测试或外部 javascript 文件的 if 语句的代码有问题,但我无法发现错误。有什么建议或意见吗?
【问题讨论】:
标签: javascript jquery cookies drupal-7