【问题标题】:How to pass values to new tab opened by chrome.tabs.create?如何将值传递给 chrome.tabs.create 打开的新选项卡?
【发布时间】:2012-06-13 05:21:14
【问题描述】:

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      • 2020-07-29
      • 2014-01-10
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多