javascript - 如何将值传递给 chrome.tabs.create 打开的新标签页?

标签 javascript google-chrome google-chrome-extension

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

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

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

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

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

最佳答案

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

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

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

关于javascript - 如何将值传递给 chrome.tabs.create 打开的新标签页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11008628/

相关文章:

javascript - Angular 6 - 循环遍历 Material 扩展面板内的 Material 表

node.js - 使用 Puppeteer 更改 Chrome/Chromium 的下载路径

google-chrome - 如何从谷歌浏览器解压resources.pak?

javascript - 平滑的鼠标滚轮滚动

javascript - 谷歌浏览器扩展用户脚本图标

google-chrome - 如何在chrome扩展的选项页面和背景页面之间进行通信

javascript - 在没有 parent 和 child 的其他选择器上设置可见

javascript - AJAX 和用户离开页面

javascript - 如何将 json 响应对象动态映射到实体?

javascript - 简单的用户脚本在任何地方都不起作用?