gpt4 book ai didi

javascript - 打开 Chrome ://newtab from a Chrome extension

转载 作者:行者123 更新时间:2023-11-30 18:10:22 25 4
gpt4 key购买 nike

我尝试编写一个 Google Chrome 扩展程序,当我在短时间内左右单击时,它只会打开一个新选项卡。 JavaScript 没有问题,但我将其实现为“content_scripts”脚本。

在其他一些线程中,我读到我无法访问 chrome.* 来自 content_scripts 的 API(chrome.extension API 除外)。

即使没有必要访问 chrome.tabs API 来打开一个新窗口(window.open 应该可以完成这项工作)但似乎我需要它来打开一个新标签带有新标签页 这显然无法通过 window.open 实现。

所以我真的不知道什么是最好的方法。我可以使用可以从 content_script 调用的背景页面,但我认为 应该 有一种更简单的方法来做到这一点,我就是不明白。

有人有想法吗?

最佳答案

我认为您的内容脚本必须向您的后台页面发送消息以调用 chrome.tabs.create - 内容脚本不能使用 chrome api,也不能直接与后台页面通信.

这是一个 reference有关在 Chrome 扩展中传递消息的更多详细信息,但这里是示例代码(根据上述引用中的示例进行了修改)

// in background
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
switch ( request.action) {
case 'newTab' : {
//note: passing an empty object opens a new blank tab,
//but an object must be passed
chrome.tabs.create({/*options*/});
// run callback / send response
} break;
}
return true; //required if you want your callback to run, IIRC
});

// in content script:
chrome.extension.sendMessage({action: "newTab"}, function(response) {
//optional callback code here.
});

关于javascript - 打开 Chrome ://newtab from a Chrome extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14741484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com