0
在我的應用程序中,有一個自定義需求來檢測URL是否在瀏覽器中打開(即它可能在另一個選項卡,另一個窗口等) 。有沒有辦法來檢測相同的?檢測URL是否在瀏覽器中打開 - Rails項目
它可以採用rails方式或使用客戶端腳本。
我不確定它是否是一個好問題。
在我的應用程序中,有一個自定義需求來檢測URL是否在瀏覽器中打開(即它可能在另一個選項卡,另一個窗口等) 。有沒有辦法來檢測相同的?檢測URL是否在瀏覽器中打開 - Rails項目
它可以採用rails方式或使用客戶端腳本。
我不確定它是否是一個好問題。
唯一的貢獻,我能做出將它如何可以工作:
要求
因爲Rails works on requests,我會建議「知道」某一URL是否是唯一的出路「打開」是使用永久連接(WebSocket或long-polling)
通過使用websocket或long-polling,您將擁有一個常量remi的nDer誰在請求你的控制器動作,從而爲您提供信息的上是開放
連接
如果您使用的WebSocket或長輪詢技術,你可以做這樣的:
#app/controllers/your_controller.rb
def your_action
#can accept xhr requests
respond_to do |format|
format.html
format.js { render nothing #xhr request}
end
end
#app/assets/application.js
if (!!window.EventSource) {
var source = new EventSource(window.location);
}
source.addEventListener('message', function(e) {
console.log(e.data);
}, false);
這將不斷地請求頁面你與SSE
's(實質上是使用長輪詢),從而使您可以看到,如果動作是打開
這是超級粗略,但希望它會給你一些想法
謝謝老兄:)。我會檢查並回復你 –