只有在瀏覽器中第一次訪問網站時,我想在網站的主頁上顯示警告消息。如果打開新選項卡並再次訪問站點,則不應顯示警報消息。但是,如果我關閉瀏覽器並再次打開它,然後訪問此網站,則應顯示警報消息。我應該如何在MVC項目中實現這一點? 如果我將使用「會話」,我想警報消息將顯示在我訪問網站的每個標籤中。如果我使用「LocalStorage」,即使關閉瀏覽器並再次打開,警告消息也不會顯示。請告訴我實現這個或任何其他選擇的最佳方式。首次在瀏覽器中首次打開時,在MVC主頁上顯示警告消息
0
A
回答
0
替代方法是HTML5 SessionStorage API。只有選項卡處於打開狀態時,SessionStorage變量纔會存在,與LocalStorage相反,LocalStorage一直存在,直到在瀏覽器上手動清除爲止,即沒有到期日期。
你可以找到更多的細節here
的sessionStorage的屬性,可以訪問會話存儲對象當前原點。 sessionStorage與Window.localStorage類似,唯一的區別是當存儲在localStorage中的數據沒有設置過期時,存儲在sessionStorage中的數據在頁面會話結束時被清除。只要瀏覽器處於打開狀態並且在頁面重新加載和恢復時存在,頁面會話就會持續。在新選項卡或窗口中打開頁面將導致啓動新會話,這與會話cookie的工作方式不同。
+0
只要瀏覽器處於打開狀態,並且不僅僅是一個選項卡,我就希望變量存在。 – Dash
0
你可以試試這個,你的_Layout.cshtml創建一個隱藏字段:
<input id="inputAnnounce" type="hidden" [email protected] name="Announcement"/>
然後在你的Javascript部分,您可以檢查該值,如果它是真的還是假的:
$(document).ready(function() {
if (inputAnnounce == "True") {
//Do your alert logic here
}
});
然後在您的Model實體上,在您的UserSession模型上添加其他屬性,這在我的情況下是entUserSession:
public static bool blIsAnnounce
{
get
{
return _blIsAnnounce;
}
set { _blIsAnnounce = value; }
}
確保當有人關閉對話框,請致電您的控制器上的功能,使值false,所以它不會再次出現,除非他們註銷和登錄:
public ActionResult fncCloseAnnouncement()
{
Model.entUserSession.blIsAnnounce = false;
return null;
}
相關問題
- 1. 圖像源,但在瀏覽器中首次沒有顯示
- 2. 首次登錄時打開頁面
- 3. WAMP:如何在瀏覽器中顯示警告消息?
- 4. 每次首次緩慢顯示PDF時
- 5. 安裝後首次啓動時顯示消息
- 6. 在瀏覽器後退按鈕上顯示警告消息,但不顯示刷新時的警報
- 7. 在瀏覽器中顯示xml沒有警告信息
- 8. javascript代碼在15次擊鍵後顯示警告消息
- 9. 設爲首頁在Android瀏覽器
- 10. Xcode:如何使PickerView在某行首次顯示時開始
- 11. 如何在首次啓動時僅顯示一次UIPageViewController
- 12. DIV視頻僅在第一次加載首頁時顯示
- 13. refreshTable上首次
- 14. 如何僅在首次啓動應用程序時顯示消息?
- 15. 在網頁上首次調用Url.Action
- 16. 如何在Django中首次顯示所需的字段錯誤消息
- 17. 每次點擊時在單獨的瀏覽器中打開webview?
- 18. 使用pageregisterstartupscript刷新瀏覽器時顯示的警報消息
- 19. 加載特里首次應用打開
- 20. 首次
- 21. MVC頁面內容在同一瀏覽器窗口中顯示兩次
- 22. 樹首次顯示時如何顯示選中的jstree節點?
- 23. 爲首次在Grails中首次加載頁面而明確創建會話
- 24. Android - 首次顯示ListView時,首選ListView項目有時會被選中
- 25. 如何在ios上首次啓動時顯示視圖控制器
- 26. 如何僅在首次打開應用時啓動活動一次?
- 27. 在首頁上顯示感言
- 28. 重用首選Web瀏覽器頁面
- 29. 僅在瀏覽器開啓時讀取一次cookie 1次
- 30. 的jqGrid columnChooser不顯示首次
你應該使用靜態標誌類型全局變量並將其設置爲第一次,並在警報顯示更改標誌值後進行檢查 –