我想製作一個小擴展,將簡單的html注入視頻下的YouTube頁面。如果我簡單地訪問YouTube網址,它工作正常。但是,如果我從youtube優惠中選擇視頻,那麼我的html代碼會被注入兩次,但會被刪除。我可以看到它幾乎立即出現然後消失。Chrome擴展程序 - 頁面更新兩次,然後在YouTube上刪除
我的代碼是:
background.js
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (changeInfo.status == 'complete' && tab.status == 'complete' && tab.url != undefined) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {method: "reDraw"}, function(response) {
console.log("Injection ready!");
});
});
}
});
content.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.method == "reDraw") {
$.get(chrome.extension.getURL('/mytest.html'), function(data) {
$(data).insertAfter('#placeholder-player');
});
}
}
);
該解決方案是工作在大多數情況下細,但我意識到,一個受歡迎的Chrome擴展的一個防止這種事件,火災等我的分機不能正常工作。 – Vmxes
@Vmxes,更多詳情? –
您的解決方案工作正常,直到我安裝了「Magic Actions for YouTube 6.9.0.0」。如果啓用了此擴展,那麼onHistoryStateUpdated事件未被觸發或未訪問我的擴展偵聽器。 – Vmxes