chrome.tabs.onUpdated.addListener is not a function

201
20 февраля 2019, 15:10

Консоль выдает такую ошибку, как исправить?

Скрипты

backgroundScript

chrome.storage.local.set({tabs: chrome.tabs});

contentScript

chrome.storage.local.get("tabs", function(notTabs) {
    chrome.tabs = notTabs.tabs
    chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
        if(changeInfo.url != null) {
            alert(changeInfo.url);
        }
    })
});
chrome.storage.local.remove("tabs")

Если надо manifest.json

{
    "manifest_version": 2,
    "name": "name",
    "version": "1.0",
    "browser_action": {
        "default_popup": "popup/popup.html",
        "default_title": " "
    },
    "permissions": [
        "activeTab",
        "tabs",
        "storage"
    ],
    "content_scripts": [
        {
            "matches": ["https://*/*"],
            "js": ["content_scripts/jquery.min.js", "content_scripts/script.js"],
            "run_at": "document_idle"
        }
    ],
    "background": {
        "scripts": ["background/background.js"]
    },
    "icons": {
        "16": "icon.png",
        "32": "icon.png",
        "48": "icon.png",
        "64": "icon.png",
        "128": "icon.png"
    }
}
Answer 1

API chrome.tabs не доступен для выполнения на стороне content-script.
Список доступных для контент скрипта api:

  • i18n
  • storage
  • runtime:
    • connect
    • getManifest
    • getURL
    • id
    • onConnect
    • onMessage
    • sendMessage

Вы можете работать с .tabs на стороне background-скрипта.

READ ALSO
Почему не срабатывает плагин jQuery Zoom?

Почему не срабатывает плагин jQuery Zoom?

делаю карточку товара, в которой для картинок использую слайдер, а к слайдеру пытаюсь еще зум подключить, но уже несколько часов все безуспешноHtml...

158
Видео на полный экран с youtube iframe

Видео на полный экран с youtube iframe

Я вставляю на сайт YouTube видео через iframeМожно ли при нажатии на play открывать видео в полный экран?

264
Авторизация через Telegram. Несколько виджетов на 1-й странице

Авторизация через Telegram. Несколько виджетов на 1-й странице

С самой авторизацией проблем нетА вот с размещением нескольких виджетов авторизации на 1-й страниц - есть

207
Как отследить событие на клик

Как отследить событие на клик

Карты Яндекса позволяют строить маршрутыПо построенному маршруту можно вызвать такси, нажав на кнопку заказа

186