如何解决Chrome 扩展程序:如何让网页访问由我的内容脚本定义的功能?
我正在编写一个 Chrome 扩展程序,我让它注入一个内容脚本,该脚本遍历几个元素并向它们附加一个 onclick
属性,该属性向我的后台脚本发送一条消息以执行自定义DOM 上的函数(内容脚本中定义的函数)。要将消息从网页发送到扩展程序,我必须指定扩展程序 ID,到目前为止,我是从扩展程序菜单手动获取的。我能否设法查询扩展程序自己的 ID 以便我可以注入与我的内容脚本对话的代码?有没有其他方法可以做我想做的事情?
为每个元素注入 DOM 的代码如下所示
targets[current].element.setAttribute("onclick",`chrome.runtime.sendMessage(${EXTENSION_ID},this.id)`);
解决方法
有很多方法可以在您正在查看的特定标签和后台脚本之间交换信息。您可以在 this answer.
上查看这些内容Chrome 扩展程序 ID 问题的解决方案是使用 chrome.runtime.id
获取扩展程序 ID,并将其与其他代码一起注入所需页面,然后使用它发送回消息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。