我有一種情況,用戶可以在線修改Excel網格計劃。我希望能夠顯示一條消息,指出時間表正在另一個窗口中進行修改。但是,如何在打開窗口的情況下執行此操作,並且如果之前的窗口已用SignalR關閉。對於其他會話,我只想聲明另一個用戶正在修改時間表。SignalR和一個瀏覽器窗口一次會話
0
A
回答
0
它可能是最容易使用localStorage的一個用戶有多個選項卡/窗口之間進行通信開放:http://www.codediesel.com/javascript/sharing-messages-and-data-across-windows-using-localstorage/
您可以偵聽其中每觸發一個用戶對您的網站時打開的窗口上storage事件您致電localStorage.setItem
或localStorage.removeItem
。
當然,使用SignalR來通知其他用戶仍然有意義。
如果出於某種原因無法使用localStorage API,則仍然可以使用SignalR通過在Hub內使用Clients.User(userName)....
將消息發送到用戶已打開的每個窗口。默認情況下,userName
應該與您的用戶的IPrincipal.Identity.Name
匹配,但您可以註冊您自己的IUserIdProvider
以自定義此設置:http://www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections#IUserIdProvider
相關問題
- 1. 每個瀏覽器會話超出一次Javascript(窗口)
- 2. 每個瀏覽器會話cookie一次
- 3. 一旦另一個窗口關閉,更改瀏覽器窗口
- 4. ASP.NET和會話 - 新的瀏覽器實例與新的瀏覽器窗口
- 5. ASP.NET:彈出瀏覽器窗口和會話cookie
- 6. 在Selenium的另一個窗口中打開新的瀏覽器會話
- 7. 防止與多個瀏覽器窗口共享會話
- 8. 多個瀏覽器窗口與單獨的會話
- 9. 瀏覽器上一個按鈕和模式窗口
- 10. 與webdriver的唯一瀏覽器會話
- 11. 不同會話在同一瀏覽器的不同窗口中的概念
- 12. PDF不會在瀏覽器窗口中
- 13. 幫助瀏覽器窗口會合window.postmessage
- 14. JSF會話問題在不同的瀏覽器窗口中
- 15. 連接到當前selenium瀏覽器窗口與會話ID
- 16. 使用extjs在瀏覽器內創建一個窗口瀏覽器
- 17. 刪除從一個瀏覽器排在第二的瀏覽器會話
- 18. Selenium/PHPUnit。是否可以在窗口/瀏覽器之上打開一個乾淨的新窗口/瀏覽器?
- 19. 一個JavaScript控制兩個獨立的瀏覽器窗口。
- 20. 在ASP.NET(服務器端)中,如何唯一標識一個瀏覽器窗口與另一個瀏覽器窗口在同一cookiedbased sessionId
- 21. 打開窗口瀏覽器
- 22. 觀察瀏覽器窗口
- 23. 跨瀏覽器Modal窗口
- 24. 通過瀏覽器窗口
- 25. Python GTK窗口瀏覽器
- 26. 瀏覽器窗口和div的高度
- 27. 兩個瀏覽器窗口之間的通信:彈出窗口和父窗口
- 28. Node JS - 如何一次又一次地在同一個會話中運行跨瀏覽器測試?
- 29. 打開Chrome瀏覽器在命令行窗口中的一個新窗口
- 30. 打開一個新的瀏覽器窗口,或將焦點設置到一個現有的瀏覽器
很模糊你正在問什麼。你能提供一個簡單的場景嗎? –
查看時間表頁面,打開標籤並導航到相同的時間表頁面,但顯示消息時間表頁面已被查看。 –