有沒有一種方法來顯示一個警示框隻字面上只顯示一次,即當用戶點擊網站,然後當他們瀏覽通過它不再出現?Javascript:警告框只有一次當用戶登陸
回答
例如,你可以設置一個localStorage
propertie像
if(!localStorage["alertdisplayed"]) {
alert("Your text")
localStorage["alertdisplayed"] = true
}
注意localStorage的不被舊版本瀏覽器的支持,如blazemonger注意 - Compatibility List
另一種方法是設置一個Cookie並檢查它的存在
如果你不知道如何設置/獲取cookies與JavaScript,我會建議,閱讀是關於MDN的文章
...這將無法正常工作瀏覽器。 – Blazemonger
這對用戶來說會很好,因爲他不會受到警報的干擾;) thx,我會更新答案,指出 – C5H8NNaO4
這是一個很好的答案,直到w3school被提及。 ; - \ [mdn cookies](https://developer.mozilla.org/en-US/docs/DOM/document.cookie)也有幫助。 –
您可以在用戶第一次登錄網站時放置一個非常大的失效日期的cookie。然後,您可以檢查該cookie的存在,並僅在警報框不存在時才顯示。
是的。您可以使用Cookie,本地存儲,數據庫條目或會話變量(或組合)來確定他們是否已經看到/放棄了通知。
雖然cookie或本地存儲是您處理JavaScript的唯一選項。 (請記住,雖然本地存儲仍然是「新」,但並非所有瀏覽器都實現或支持它)。您可以使用AJAX並將標誌存儲在服務器上(但這取決於您的設置和可用的資源)。
而不是一個警告框,你應該考慮使用通知區域。然後使用cookie來防止通知出現的頻率越高。
您可以檢查cookie是否存在,如果未找到,則顯示警報並設置一個在很長時間後過期的cookie。這樣的事情:
if (!document.cookie.match(/(?:^|; *)alert_shown=1/)) {
alert("Hello world");
document.cookie = "alert_shown=1;max-age=" + 60 * 60 * 24 * 365;
}
PS:我不知道如果正則表達式是防彈。和餅乾可以......刪除。
+1之前從來沒有知道這個問題最後是對他的問題的正常答案,而不僅僅是對警報的看法 –
- 1. 一次只有一個用戶登錄
- 2. 只有當沒有錯誤GCC警告
- 3. 只警告一次的Bash腳本
- 4. 使用Javascript:警告用戶不使用警報框
- 5. 顯示警告只有當IE7
- 6. AngularJS JavaScript for循環警告,最多隻能運行一次
- 7. 如何使登錄用戶只在帖子上只有一次?
- 8. 警告框不止一次出現?
- 9. JavaScript函數只有當有警報
- 10. 創建只有當前登錄用戶
- 11. Javascript警告框未顯示
- 12. Javascript警告框不顯示
- 13. 一次只允許每個用戶一次登錄
- 14. 刪除#pragma一次警告
- 15. Perl的fields.pm警告:名稱「模塊:: FIELDS」只能使用一次
- 16. 使用Javascript - 在JS警告框
- 17. 使用php和javascript顯示警告框
- 18. 有沒有登陸場笨
- 19. 如何多次警告消息一次,並且不 - 的JavaScript
- 20. 連續爲一個文件,但只警告一次
- 21. 登錄後向用戶顯示一條警告消息
- 22. Liferay-登陸基於其用戶羣
- 23. 登錄活動只有第一次
- 24. 僅登錄到FB只有一次
- 25. 彈出框警告用戶沒有接受T&C(使用PayPal)
- 26. 在Android上每次啓動應用程序只顯示一次警告
- 27. 的JavaScript/jQuery的:響應用戶點擊一個警告對話框
- 28. Javascript string.slice()只能用一次
- 29. Javascript只能使用一次?
- 30. 如何加載requireJs文件只有一次,當用戶登錄,並防止它每次頁面重新加載
顯示該提醒,創建一個cookie。如果cookie存在,不要顯示警報。 – sbeliv01
*「有沒有一種方法可以只顯示一次警報框,即當用戶點擊該網站時,那麼當他們瀏覽它時不會再出現?」*繼續並在每個頁面上發出警報。任何合理的訪問者只會看到一次提醒,因爲在訪問該頁面時收到了提醒,他們將完全離開該網站。 –
我使用代碼將駐留在其中的佈局。用戶轉到網站中的不同佈局,如果他們回到主佈局,他們將再次看到警報。 –