Переменная инициализировать переменную Int в Content Script (расширение Chrome) - PullRequest
0 голосов
/ 10 мая 2018

В моем скрипте содержимого есть глобальная переменная

var myint = 1;
var clicker;

Затем я запускаю таймер при загрузке страницы (и сохраняю идентификатор таймера в var clicker)

window.onload = function () {
var elm = document.getElementById("my-container");
if (elm != undefined && elm != null) {
    localStorage['launched'] = "yes";        
} else {        
    clicker = setInterval(click, 30 * 1000);
}
}

Эта функция будет вызываться каждые 30 секунд (согласно setInterval)

function click() {
//since myint is initialized with 1, this if should return true just once
if (myint > 0) {
    myint = myint - 1; //myint becomes 0 so if should fail from now on...
    clearInterval(clicker);
    document.getElementById('elementID').click();    
    alert("clicking now");        
}    
}

Проблема в том, что при щелчке по ссылке она снова вызывает событие windows.onload и, следовательно, присваивает переменной clicker новый идентификатор таймера setInterval.

Однако, поскольку myint - это глобальная переменная, которую я установил в 0 внутри своего if, тогда if никогда не должен возвращать true, и поэтому я получаю щелчок только один раз (даже если таймер будет продолжать срабатывать).

Когда я отлаживал это, я обнаружил, что каждый раз, когда вызывается window.onload, myint сразу же снова сбрасывается в 1.

Как я могу получить myint, чтобы сохранить его последнее состояние, которое 0 ??

РЕДАКТИРОВАТЬ # 1

Вот мой манифест.json

 {
"manifest_version": 2,
"name": "META Upgrader",
"version": "1.0.0",
"content_scripts": [{
    "run_at": "document_start",
    "js": ["content.js"],
    "matches": [ "<all_urls>" ]
}],
"permissions": [
"background", "webRequest", "webRequestBlocking", "tabs", "<all_urls>"
],
"background": {
"scripts": ["background.js"],
"persistent": true
},
"web_accessible_resources": ["jsui.js"]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...