2013-02-03 38 views
0

documentation指出「Safari 5.1在激活時向窗口或選項卡發送」激活「事件。我用下面的代碼在我的全局頁捕捉到這一事件:切換窗口時未分派Safari擴展「激活」事件

function onWindowOrTabSwitched(event) { 
    alert("onWindowOrTabSwitched"); 
} 

safari.application.addEventListener("activate", onWindowOrTabSwitched, true); 

警報顯示當我切換從一個標籤到另一個,但Safari瀏覽器窗口之間切換時,大部分的時間,沒有任何反應。有沒有我做錯了或沒有Safari(6.0.2)不調度此事件之間切換窗口?

回答

0

好的,真正的問題似乎是我在從我的全局頁面到注入腳本的「激活」事件期間發送的消息確實在我創建新的Safari窗口時到達,但沒有出現在其他任何情況下。 「safari.application.activeBrowserWindow.activeTab.page」似乎在創建新窗口的激活事件期間被填充,但只要加載了topsites://頁面就會被清除。我在注入的腳本中實現了一個檢查,看看它是否注入了一個http頁面或解決這個問題。

因此,激活事件在每次應該觸發時都會觸發,只有在打開新窗口並且這是我的問題的情況下,纔可以將消息發送到Topsite。