2016-04-29 2 views

ответ

0

В исполняемый скрипт нельзя передать переменную . Это сделано, я думаю, по соображениям безопасности и производительности, потому что это может привести к утечкам памяти.

Что вы можете сделать, это передать значение переменной.

Есть два способа:

  1. Отправить сообщение для вашего сценария, см the messaging for communication between extension and pages
  2. Вводят значение переменной в сценарии страницы, используя тот же executeScript но прохождение сценария как строка вместо файла имя. Вы можете делать executeScript звонки: один для инъекций значений и другой для инъекций файлов.
+0

Не уверен, что я заработал. Я пытаюсь следовать за №1. 'chrome.runtime.onMessage.addListener (функция (сообщение) { if (message.type ==" pickLine ") { pickLineText = message.content; } });' находится в моем sendMessage.js и не имеет значения что, pickLine кажется всегда пустым – Dgameman1

+0

@ ILovephp123 это асинхронное сообщение, возможно, вы отправляете его до того, как слушатель зарегистрирован на странице? Также вам нужно добавить все необходимые разрешения, в прошлый раз, когда я попытался сделать подобное, я потратил довольно много времени, чтобы заставить его работать, не так очевидно, как они это делают в хроме ... – smnbbrv

+0

Проходит ли sendMessage выше или ниже оболочка выполнения? – Dgameman1

Смежные вопросы