Расширения Chrome, измените значение переменной перед выполнением скрипта - PullRequest
0 голосов
/ 09 ноября 2018

Я пишу простое расширение Chrome, которое по клику вставляет текст на шведском языке в DOM. Работает отлично. Поэтому, когда пользователь щелкает расширение, текст вставляется.

Теперь я хочу немного расширить это. Чего я хочу добиться:

1) Когда пользователь нажимает расширение впервые, вставляется текст на шведском языке

2) Когда пользователь нажимает второй раз, вместо него вставляется текст на английском языке

Так что в основном я хочу "переключить" язык, вставленный между шведским и английским.

Мой manifest.json:

{
  "name": "TextInserter",
  "version": "1",
  "manifest_version" : 2,
  "description": "Inserts text",
  "background" : {
    "scripts" : ["background.js"],
    "persistent": false
  },
  "permissions": ["activeTab"],
  "browser_action": {}
}

код в background.js:

chrome.tabs.executeScript(tab.id, {
    code: 'var toggle = true;' // How can I toggle this value?
}, function() {
    chrome.tabs.executeScript(tab.id, {file: 'content.js'});
});

код в content.js:

var textarea = document.getElementById('description');

if (textarea && toggle) { // Is always true
  textarea.value="Hej";
} else if (textarea && !toggle) {
  textarea.value="Hello";
}

toggle = !toggle; // Change the value of toggle so next time text is inserted in other language

Это, конечно, не работает, так как я устанавливаю

var toggle = true;

в background.js.

Как мне добиться этого эффекта переключения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...