Я пытаюсь создать свое первое расширение Chrome, и я что-то заметил. Я думаю, что проблема может быть связана с страницей событий.Перезагрузка Chrome-расширения
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {xbank: "click"})
});
});
Все отлично работает, за исключением, когда я перезагрузить расширение, указанное действие создает эту ошибку «расширения :: uncaught_exception_handler: 8 Ошибки в ответ на tabs.query: TypeError: Не удается прочитать свойство„идентификатор“неопределенный».
Если я перезапущу Chrome, все снова отлично работает.
Какой подход следует принять во избежание этой возможной ошибки?
Редактировать - спасибо François F за то, что указали мне в правильном направлении. Для тех, кто изучает веревки, новые вкладки в Chrome имеют невидимый хром: // newtab/URL. Аналогично, страница расширений имеет chrome: // extensions/URL. И мой скрипт контента не будет выполняться ни на одном.
chrome.browserAction.onClicked.addListener(function(tab) {
if((tab.url).toString().indexOf("http")==-1){
alert("URL for this page is:\n" + tab.url + "\n\nCannot open app on this URL must be http/htttps");
}
else{
chrome.tabs.sendMessage(tab.id, { xbank: "click" })
}
});
Спасибо за указание на это. На перезагрузке все еще ничего ... –
Я нашел проблему. Я не думал, что это вообще так. Когда я открываю новую вкладку в Chrome, в адресной строке нет URL-адреса, и мой сценарий содержимого не запускается. –