javascript - 在 Drupal 7 上单击按钮并保存 cookie

标签 javascript jquery cookies drupal-7

我有一个 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 文件中测试它以创建弹出窗口!

关于javascript - 在 Drupal 7 上单击按钮并保存 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35641226/

相关文章:

javascript - jQuery $(window).blur 与 native window.onblur

javascript - Spring Boot 无法为对象返回 JSON,但不能为对象列表返回 JSON

javascript - 如何检测脚本是在浏览器中还是在 Node.js 中运行?

javascript - Angular4中具有功能的属性指令

javascript - Symfony - Ajax 和 Twig

javascript - 至少包含 1 个数字和 1 个字符且固定长度为 11 的字母数字字符串的正则表达式

JQuery 选项卡 - 更改输入条目选项卡的背景颜色

java - 在 JSR223 Sampler Jmeter 中添加来自先前采样器的 Cookie

asp.net-core - 无法使用 ASP.NET CORE 2.2 生成用于本地化的响应 cookie

django - 为具有多个域名的 Django 站点设置默认 cookie 域