gpt4 book ai didi

javascript - 在 Chrome 扩展中的生成窗口上运行 Javascript

转载 作者:行者123 更新时间:2023-12-01 00:25:00 25 4
gpt4 key购买 nike

我正在构建一个 Chrome 扩展程序,其行为之一是生成一个具有指定大小和位置的弹出窗口:

url = "https://google.com"
chrome.windows.create(
{
'url': url,
'type': 'popup',
'width': Math.floor(screen.availWidth / 2),
'height': Math.floor(screen.availHeight / 2),
'left': Math.floor(screen.availWidth / 2),
'top': 0
},
function(window) {}
);

此时我需要在生成的页面上运行一些 Javascript。我知道我可以在 list 中声明一个与 url 匹配的内容脚本,但该 url 实际上是动态的,并且几乎可以是任何内容。

所以,我现在最好的猜测是添加一个带有匹配器 https://*/* 的内容脚本,并通过其他一些方法确定这是由扩展 - 通过添加一些查询参数,或通过扩展消息系统。

不过,这种方法看起来有点老套。有谁知道更“正确”的方法来做到这一点?

最佳答案

使用chrome.tabs.executeScript在回调中:

chrome.windows.create({ /*params*/ }, w => {
chrome.tabs.executeScript(w.tabs[0].id, {file: 'content.js'});
});

注释:

  • 网站或 "<all_urls>"必须添加在 "permissions"在manifest.json中。
  • 返回的window不是 JavaScript window因此最好使用不同的名称。

关于javascript - 在 Chrome 扩展中的生成窗口上运行 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59084052/

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