Поэтому я пытаюсь работать над расширением 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>