У меня есть следующий код в моем фоновом скрипте:
chrome.tabs.onUpdated.addListener(function(tabId, changeinfo, tab) {
if (changeinfo.status !== 'complete')
return;
if (!matchesUrlFilters(tab.url))
return;
chrome.tabs.executeScript(tabId, { file: "jquery-1.7.1.min.js" }, function() {
chrome.tabs.executeScript(tabId, { file: "enhance.js" });
});
});
Однако, похоже, что в некоторых случаях он дважды инжектирует мой скрипт контента (это может произойти, когда enhance.js
делает window.history.pushState
).
Как я могу выяснить, есть ли на вкладке уже мой скрипт содержимого? Я пробовал chrome.tabs.sendRequest
, но он никогда не вызывал обратный вызов, если скрипт содержимого еще не был добавлен.