Задать вопрос
@masimka

Как убрать кеширование расширение гугла (content_script)?

Загрузил расширение в режиме разработчика, распакованое. Расширение парсит контент страницы и загружает его в локальное хранилище для дальнейшей обработки. Все работаект корректно, за исключением одного, оно не запускается каждый раз как я захожу на конкретную страницу.
Заметил что content_script (cntn.js) срабатывает через раз, а то и через два.

Манифест
{
    "manifest_version": 2,
 
    "name": "import",
    "description": "This extension will import ",
    "version": "dfasdas",

    "browser_action": {
        "default_icon": "32x32.png",
        "default_popup": "popup.html"
    },
    "content_scripts": [
        {
          "matches": ["https://site/p3/xcxc/fgfg/*/print"],
          "js": ["cntn.js"],
          "all_frames" : false,
          "run_at" : "document_end"
        }
      ],

      "background": {
        "scripts": ["background.js"]
      },

    "permissions": [
        "activeTab", "storage", "http://localhost:8080/#/", "management", "tabs"
    ]
}


Как заставить скрипт (cntn.js) отрабатывать каждый раз?
  • Вопрос задан
  • 26 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя masimka К ответам на вопрос (1)
@masimka Автор вопроса
могу ответить на этот вопрос:
очень просто, контент скрипт получается контент парсит его по завершению DOMContentLoaded (
window.onload = function() {,
document.addEventListener("DOMContentLoaded",,
document.addEventListener("load", function() ,

) и отправляет сообщение в background.js
ТОт его ложит в хранилище для дальнейшей обработки.
Вопрос был в том что это не кеш, а страница получает контент без перезагрузки страницы.
По этому нужно применить content oвserve и смотреть на изменение дочерних обектов.
И для этого нужно стартовать событие на подслушивание onHistoryStateUpdated тогда будет работать.
Ответ написан
Комментировать