0

我的內容腳本被定義爲在每個頁面上運行。
我遇到了一個Facebook問題:
假設我加載「http://facebook.com」,我的內容腳本運行,我可以告訴它,因爲事件:$(document).ready()被解僱。然後,我按臉譜(我的個人資料頁面,或我屬於的組)鏈接,但內容腳本不會再次加載。Chrome擴展內容腳本和document.ready事件

由於url正在更改,因此它被修復,因此內容腳本應該再次運行,不是嗎?

+0

通常,內容腳本不需要'document.ready',因爲它們在ready事件發生後默認運行。這在jQuery中是可以的,因爲如果'ready'已經發生,jQuery只會觸發該函數而不是排隊等待以後。 – Teepeemm

回答

1

不,因爲頁面內容被重新加載而不是整個頁面。網址的變化並不意味着頁面被重新加載。你應該聽聽url本身的變化。如果URl更改執行一些代碼。

如果標籤的URL用這種方法

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { 
    if (changeInfo.url != null) { // check this condition, I didn't remember what is returned if the url didn't change. 
    // your code 
    } 
}); 

我希望這可以幫助你改變你可以聽。

相關問題