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

Можно ли заставить расширение хром работать в фоне?

Есть расширение, которое записывает изображение с текущей вкладки в localstorage. При активации другой вкладки - работа скрипта прекращается. Как выполнять скрипт в фоне в нужной вкладке. Что читать, куда копать?
  • Вопрос задан
  • 406 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 2
calirails
@calirails Автор вопроса
Надим Закиров подсказал ответ на вопрос:
для того чтобы избежать остановки таймеров, на странице, где работает скрипт запускаешь бесконечное воспроизведение mp3-файла с тишиной. Лично мне это помогает избежать заморозки.

<video style="position: fixed; left: 30px; bottom: 30px; z-index: 99999; height: 55px; width: 300px; border-radius: 100px;" controls loop name="media">
  <source src="https://site.ru/fon.mp3" type="audio/mpeg">
</video>
Ответ написан
Комментировать
@acwartz
Тут должна быть ваша реклама.
Там собственно лишнего ничего и нет. setInterval с записью в localstorage. Это всё)

Ну начнем с того что хром в отношении расширений нищадно убивает все эти таймауты и интервалы и вместо них надо использовать апи chrome.timers вроде бы.

Как?
Опять же через chrome.tabs обходить все вкладки кроме активной и делать работу. Если скрипт работает на самой странице, то нужно дать разрешение на все страницы чтобы скрипт инжектился во все страницы и делал скрины изнутри.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Открывать код расширения и читать его, вестимо.
Такое поведение не является стандартным и требует специальных ухищрений, соответственно тебе нужно лишь избавить код расширения от "лишнего".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы