我正在编写我的第一个 chrome 扩展,我想将一个变量传递给当前打开的选项卡并用它来操作 DOM。
我的扩展程序有一个按钮,单击时正在执行此代码:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.executeScript(tab.id, {
file: 'tabscript.js'
});
});
这很好用,但我看不到将变量传递给 tabscript.js 的方法,因此它可以在打开的选项卡上使用。
我正在编写我的第一个 chrome 扩展,我想将一个变量传递给当前打开的选项卡并用它来操作 DOM。
我的扩展程序有一个按钮,单击时正在执行此代码:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.executeScript(tab.id, {
file: 'tabscript.js'
});
});
这很好用,但我看不到将变量传递给 tabscript.js 的方法,因此它可以在打开的选项卡上使用。
您需要将变量传递给什么?你有你在你的脚本中调用的函数吗?
必须注意的是,您无法访问页面 Javascript,只能访问 DOM。
如果您有一个必须使用特定参数调用的特定函数,那么您应该研究内容脚本和消息传递。
内容脚本可以在每个页面加载(或选择的页面)上运行,您可以使用消息传递将消息从扩展按钮发送到内容脚本中的函数。
或者,更接近您的原始想法,您可以使用以下命令在运行时构建要调用的函数:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.executeScript(tab.id, {
code: 'function(){ ...... your code built dynamically ......}'
});
});