如何将值传递给chrome.tabs.create打开的新选项卡?

时间:2012-06-13 05:21:14

标签: javascript google-chrome google-chrome-extension

我是新手为Chrome编写扩展程序。我正在尝试编写一个简单的扩展,它将打开一个带有指定url的新选项卡,点击扩展图标并需要传递一个值,以便在输入区域填充此值(例如:输入搜索)指定的网址。

单击图标后,我成功打开了带有给定网址的新标签页。我使用后台脚本在图标上监听事件并打开一个标签,脚本如下:

chrome.browserAction.onClicked.addListener(function(tab) {

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

现在我很困惑什么方法会允许我将一些值发送到新选项卡并使用该值并在那里执行一些操作,如果我传递“java api”我必须把它放在搜索区域中谷歌页面。我尝试查看Chrome扩展程序文档,但是对于使用什么感到困惑?

1 个答案:

答案 0 :(得分:2)

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

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

然后,此内容脚本将能够对选项卡内容执行某些操作。如果它需要您的扩展程序中的某些数据,则必须send a message