2011-03-24 35 views
0

我有一個網站需要知道用戶是否打開了其他頁面/標籤才能在其中執行操作(如關閉它們,重定向等)。我不是在談論彈出窗口,我正在討論用戶手動在新頁面選項卡中打開的內容。使用mootools獲取打開的頁面/標籤

所以基本上我需要一個方法來獲得的打開我的領域的標籤/窗口的列表,並能夠訪問他們的內容(因爲都是同一個域,不應該有任何安全問題)

存在類似的東西?

Regards, 影子。

回答

0

我想這可能是可能的,因爲你說它都在同一個域中。

當頁面/標籤頁被載入時,您想要爲其分配一個唯一的ID並將其發送到服務器。當它關閉時,你也需要告訴服務器,以便服務器知道哪些標籤仍然打開。在每個打開的選項卡中,您可以定期查詢服務器以查看您希望在此選項卡中執行的任何操作,例如重定向或關閉它。

+0

是的,我想到了這個選項,但我想要更多的客戶端解決方案,而不是保持服務器中的標籤記錄(就像myTab.element.whatever在JS中) – 2011-03-24 14:11:58

+0

跟蹤打開的東西的唯一方法是如果你在所有的鏈接上使用window.open。如果用戶複製一個標籤或一個窗口或打開另一個書籤鏈接,這仍然不起作用。 – 2011-03-24 15:22:37

+0

好吧,那麼我將需要做一些基於服務器的話,似乎沒有什麼是我需要的東西:) – 2011-03-24 15:43:01

0

不可能與JavaScript,並有很好的理由。

你真的想讓網站開始重定向你的其他標籤嗎?

+0

閱讀這個問題,我知道JS關於其他領域的內容的安全限制,我在談論所有相同的域中的頁面。 – 2011-03-24 14:12:45

+1

哈哈,你是javascript關聯數組的傢伙:) – 2011-03-24 15:21:22

+0

是的,很高興在這裏看到你:) – 2011-03-24 15:40:49

0

實際上,這是可能的,並且您不需要經過不斷的服務器請求。使用localStorage並綁定到存儲事件。實現實際上非常簡單。唯一嚴重的問題是,並非所有瀏覽器都遵循存儲事件是否在源窗口上觸發的規範,但只需幾行代碼就可以規範化行爲。

+0

爲什麼不顯示這些簡單的代碼行? – 2012-11-18 10:26:59

相關問題