Uncaught SyntaxError: неожиданный идентификатор при использовании chrome.tabs.executeScript - PullRequest
0 голосов
/ 27 сентября 2019

Попытка изменить форму пароля на странице с расширением.Этот код прекрасно работает для изменения формы в расширении:

  var inputs = document.getElementsByTagName("input");
      for (var i=0; i<inputs.length; i++) {
        if (inputs[i].type.toLowerCase() === "password") {
          inputs[i].value = ("finally");
        }
      }

Когда для доступа к документу страницы добавлен код chrome.tabs.executeScript, я получаю следующую ошибку, указывающую на вторую строку:

Uncaught SyntaxError: Неожиданный идентификатор

Вот модифицированный код (строка 2 является виновником согласно журналам):

chrome.tabs.executeScript(null, {
var inputs = document.getElementsByTagName("input");
      for (var i=0; i<inputs.length; i++) {
        if (inputs[i].type.toLowerCase() === "password") {
          inputs[i].value = ("finally");
        }
      }
})

Неправильно ли я использую chrome.tabs.executeScript(null, как средство переключения между документом расширения и документом страницы?

1 Ответ

0 голосов
/ 27 сентября 2019

Решение получено на основе комментария выше @VLAZ.Будет рад поменять принятый ответ на @VLAZ, если вы скопируете или вставите этот ответ или другой.

Исправлено путем разбивки файла .js на два файла js и ссылки на второй в функции executeScript:

start.js

chrome.tabs.executeScript({
file: 'startUp.js'
});

для вызова startUp.js

var inputs = document.getElementsByTagName("input");
    for (var i=0; i<inputs.length; i++) {
      if (inputs[i].type.toLowerCase() === "password") {
        inputs[i].value = ("finally");
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...