我有一個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知識不是很棒,你看。 –