javascript - 使用executeScript传递变量

标签 javascript google-chrome-extension

var stuff = "Heeeey";   
chrome.extension.getBackgroundPage().chrome.tabs.executeScript(null, {
    file: 'sendMessage.js'
});;

如何传递变量 stuff到文件 sendMessage.js

最佳答案

无法将变量传递到执行的脚本中。我猜这样做是出于安全和性能原因,因为这可能会导致内存泄漏。

您可以做的是传递变量的

有两种方法:

  1. 将消息发送到您的脚本,请参阅 the messaging for communication between extension and pages
  2. 使用相同的 executeScript 将变量值注入(inject)到页面脚本中,但将脚本作为字符串而不是文件名传递。您可以执行 executeScript 调用:一个用于值注入(inject),另一个用于文件注入(inject)。

关于javascript - 使用executeScript传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36931702/

相关文章:

javascript - 如何在chrome扩展中从background.js引用popup.html DOM?

javascript - 添加和减去额外的类

javascript - For 循环中的 onClick 事件

javascript - 是否可以检测到鼠标在页面上每个元素上的点击?

google-chrome-extension - chrome 中的选项卡悬停事件

google-chrome-extension - 在 chrome 扩展中读写文件

javascript - Uncaught ReferenceError : function is not defined but it is defined

javascript - 使用 d3 javascript 库附加 DOM/SVG 元素会更改变量引用/范围,为什么?

javascript - CSS 动画到 javascript 幻灯片

javascript - CodeIgniter View 、HTML、JS 和 CSS 压缩构建工具