我有一个Drupal 7本地网站,它有一篇文章和导致该文章的第一页上的弹出窗口。在那篇文章中,我也有一个按钮,当用户点击按钮时,网站要“记住”用户并且不再显示弹出窗口。我以为我可以更改按钮的文本并将其存储为cookie。 这是按钮的代码:按钮点击并保存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语句的代码有问题,但我无法发现错误。任何建议或意见?
这是怎么完成的?你的意思是使用PHP?我想编辑这个特定的文章,所以我改变它的HTML代码。这就是为什么我尝试JavaScript –
不,不,请不要去java脚本。这根本不是最好的做法。是的,您需要使用PHP会话来存储值。 –
虽然我不能在文章的html中使用php代码,对吧?那么,我必须更改template.php文件或其他东西?而且,有没有我能做到这一点的例子?我的PHP知识不是很棒,你看。 –