点击按钮并在Drupal 7上保存cookie

Button onclick and save cookie on Drupal 7

本文关键字:保存 cookie Drupal 按钮      更新时间:2023-09-26

我有一个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);

但是当我加载页面时,弹出窗口照常显示,但按钮的文本立即从"按此处"变为"0;Drupal.toolbar.collapsed"。我是一个新的 Web 开发人员,所以我确定我用于 cookie 创建/测试或外部 javascript 文件的 if 语句的代码有问题,但我无法发现错误。有什么建议或意见吗?

案件已结案!我所要做的就是在第一个脚本中使用 JavaScript 中的 localStorage,然后在外部 js 文件中对其进行测试以创建弹出窗口!

技巧在这里。

与其在客户端存储值,请将其存储在服务器端并在每个页面上运行检查。