2014-02-26 63 views
0

在我的應用程序中,有一個自定義需求來檢測URL是否在瀏覽器中打開(即它可能在另一個選項卡,另一個窗口等) 。有沒有辦法來檢測相同的?檢測URL是否在瀏覽器中打開 - Rails項目

它可以採用rails方式或使用客戶端腳本。

我不確定它是否是一個好問題。

回答

1

唯一的貢獻,我能做出將它如何可以工作:


要求

因爲Rails works on requests,我會建議「知道」某一URL是否是唯一的出路「打開」是使用永久連接(WebSocketlong-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); 

Good tutorial here

這將不斷地請求頁面你與SSE's(實質上是使用長輪詢),從而使您可以看到,如果動作是打開

這是超級粗略,但希望它會給你一些想法

+0

謝謝老兄:)。我會檢查並回復你 –

相關問題