如何将值传递到通过chrome.tabs.create打开的新标签页?

3
我是Chrome扩展程序的新手。我正在尝试编写一个简单的扩展程序,当单击扩展程序图标时,它将打开一个具有指定URL的新选项卡,并需要向其传递一个值,以便该值填充在指定URL的输入区域(例如:搜索输入框)中。
我成功地在单击图标时用给定的URL打开了新的选项卡。我使用后台脚本来监听图标上的事件并打开一个选项卡,脚本如下所示:
chrome.browserAction.onClicked.addListener(function(tab) {

  chrome.tabs.create({'url': 'www.google.com'}, function(tab1) {
    // Tab opened.
  });
});

现在我对于哪种方法可以让我向新标签页发送某些值并在那里使用这些值执行一些操作感到困惑,比如,如果我传递"java api",我必须将其放入Google页面的搜索区域中。我尝试查看Chrome扩展文档,但是不清楚应该使用什么?

1个回答

2

您应该使用chrome.tabs.executeScript()在此选项卡中运行内容脚本:

chrome.tabs.create(..., function(tab1) {
  chrome.tabs.executeScript(tab1.id, {file: ...});
});

这个内容脚本将能够处理标签页的内容。如果它需要一些来自您的扩展的数据,它将必须发送消息


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接