Насколько дорого вызывать sendMessage () из фонового скрипта в скрипт контента раз в секунду? - PullRequest
0 голосов
/ 22 мая 2019

Поэтому я пытаюсь работать над расширением Chrome, которое включает таймер обратного отсчета с пяти минут, когда пользователь меняет URL: я думаю о обратном отсчете от фонового скрипта, потому что таймер, который я кодировал в скрипте контента, нене продолжайте обратный отсчет, пока расширение (popup) chrome не откроется вручную, щелкнув его значок в правом верхнем углу окна браузера.

Дело в том, что я также хочу изменить html-текст моего всплывающего окна, чтобы отображать ход обратного отсчета, когда пользователь щелкает и открывает мое расширение, и это можно сделать только в сценарии содержимого, поскольку фоновые сценарии могут 'Доступ к DOM (насколько я знаю).Я подумываю о том, чтобы каждую секунду передавать прогресс обратного отсчета из моего фонового скрипта в мой скрипт контента, где он сохраняется / обновляется в переменной в скрипте контента, который затем может быть использован для изменения моего всплывающего текста.Это действительно большой ресурс?

Любые другие обходные пути тоже были бы классными (я новичок в веб-разработке, смеется).

my manifest.json:

{
  "manifest_version": 2,
  "name": "Drill Sergeant",
  "description": "Tracks time spent on 'watchlist' websites",
  "version": "1.0.0",
  "browser_action": {
    "default_popup": "popup.html"
  },
  "background": {"scripts": ["background.js"]},
  "web_accessible_resources": ["background.js"],
  "permissions": ["activeTab", "webNavigation", "notifications", "tabs"]
}

мой нерабочий таймер в скрипте контента:

function countDown(){
  var a = 300;
  setInterval(function(){
    a--;

    if(a == 0)
    {
      alert("!!!");
    }
  }, 1000)
}

как я включил свой скрипт контента в мой файл .html («...» просто означает, что над тегом скрипта есть нерелевантный HTML-код):

   <body>
     ...
    <script src = contentscript.js></script>
   </body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...