2015-01-05 76 views
0

任何人都可以幫助如何在任何地方點擊,但只有一次pervisit時打開新窗口。 例如,您訪問google.com並點擊任何地方,新窗口將打開但只有一次,第二次點擊不會打開窗口。
網站例如:http://afowles.blogspot.com
我的劇本是點擊任何地方彈出窗口一次pervisit?

Function popup() { 
    window.open ("http://www.stackoverflow.com","popup","menubar=1,resizable=1,width=450,height=550");

然後把

onclick="popup()"
在身上。
上面的代碼顯示每個單擊網站上的新窗口。我該怎麼做才能讓它只顯示一次?

回答

1

設置一個全局變量 一個= 1; 然後在函數中檢查變量的值。執行windows.open後,更改全局變量的值,以便windows.open不會再次執行。

代碼:

<script> 
var a=0; 
function popup() { 
if(a==0){ 
window.open ("http://www.stackoverflow.com","popup","menubar=1,resizable=1,width=450,height=550"); 
a++; 
} 
} 
</script> 
+0

工作:d感謝。 –

0

首先,你需要定義自己訪問所包含的內容,即每天一次,每週或每一個在您的網站的用戶的土地,每一個加載頁面時,等

假設您希望在用戶瀏覽時爲用戶提供一些持久性,您需要在您的網站上執行的操作是在第一次點擊前設置要評估的條件,並且如果結果指示用戶首次訪問,則打開頁面。同時,請設置下一次要檢查的值(以及最有可能的所有後續點擊均基於您當前的實施情況)。 LocalStorage或cookies將是您的最佳選擇。

我會成立沿着線的東西:

//check page is loaded 
if (cookie.firstVisit) { 
    //add click event listener 
} else { 
    //set cookie.firstVisit to false 
    //remove click event listener 
} 

而是闡明如何與這裏的cookie做到這一點,看看這篇文章這可以解釋這一切:How to set/unset cookie with jQuery?

最後,當有人在您的頁面上的任何地方點擊而沒有明確希望該操作執行時打開一個新窗口在大多數情況下被認爲是不好的做法。但是,我不知道你的情況,所以這可能是最好的行動方式,但認爲值得一提。

相關問題