1

我正在编写我的第一个 chrome 扩展,我想将一个变量传递给当前打开的选项卡并用它来操作 DOM。

我的扩展程序有一个按钮,单击时正在执行此代码:

chrome.tabs.getSelected(null, function(tab) {
 chrome.tabs.executeScript(tab.id, {
  file: 'tabscript.js'
 });
});

这很好用,但我看不到将变量传递给 tabscript.js 的方法,因此它可以在打开的选项卡上使用。

4

1 回答 1

4

您需要将变量传递给什么?你有你在你的脚本中调用的函数吗?

必须注意的是,您无法访问页面 Javascript,只能访问 DOM。

如果您有一个必须使用特定参数调用的特定函数,那么您应该研究内容脚本消息传递

内容脚本可以在每个页面加载(或选择的页面)上运行,您可以使用消息传递将消息从扩展按钮发送到内容脚本中的函数。

或者,更接近您的原始想法,您可以使用以下命令在运行时构建要调用的函数:

chrome.tabs.getSelected(null, function(tab) {
 chrome.tabs.executeScript(tab.id, {
  code: 'function(){ ...... your code built dynamically ......}'
 });
});
于 2010-04-23T18:52:24.873 回答