gpt4 book ai didi

javascript - 如何将 chrome 扩展 ID 动态发送到网页以进行消息传递

转载 作者:行者123 更新时间:2023-12-03 17:02:08 26 4
gpt4 key购买 nike

我通过内容脚本在网页中注入(inject)脚本。在脚本中,我使用 chrome.runtime.sendMessage 成功地将消息发送到后台脚本。但是我对 extensionId 进行了硬编码。我如何在网页中动态注入(inject)扩展 ID 以将消息发送到后台脚本?

chrome.runtime.sendMessage(extensionIdHardCoded, {
msg: data
},
function(response) {});

最佳答案

首先,如果您已经有了内容脚本,则不必使用externally_connectable 进行通信 - 您可以 use custom events与将其转发到后台的内容脚本进行通信。


也就是说,您可以使用 chrome.runtime.id 并在注入(inject)脚本之前将其传递给窗口上下文:

var script = document.createElement('script');
script.textContent = "var extensionId = " + JSON.stringify(chrome.runtime.id);
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);

/* now inject your script */

或者,您可以添加一个不可见的 DOM 节点,该节点将包含 ID 作为内容或某些属性,并从注入(inject)的脚本中读取它。

关于javascript - 如何将 chrome 扩展 ID 动态发送到网页以进行消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34407502/

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