gpt4 book ai didi

javascript - 在 chrome.browserAction.onClicked 上调用内容脚本函数

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

我的问题相当简单,我只是想找出最简单的方法来做到这一点。

我的 Chrome 扩展程序的当前迭代通过一个按钮将 DIV 注入(inject)网页,按下该按钮时将执行一个功能。

我想在不注入(inject) DIV 的情况下完成此操作,方法是在工具栏中按下浏览器按钮时在我的内容脚本之一中执行一个函数。解决这个问题最简单的方法是什么?我相信我必须使用后台页面,并且我在文档中看到的唯一内容是在两端注册一些监听事件。如果这是唯一/最简单的方法,我该怎么做?

最佳答案

是的,从浏览器或页面操作按钮联系内容脚本是使用后台脚本和内容脚本之间来回发送的消息来完成的

第一步:告诉后台脚本在 browserAction/pageAction 按钮点击时做什么

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

第 2 步:在 browserAction.onClicked 事件监听器中,您可以向内容脚本发送消息(实际上是向任何监听代码!):

chrome.tabs.sendMessage(tab.id, {<YOURMESSAGEPAYLOAD>});

第 3 步:在内容脚本内,添加传入消息的监听器

chrome.runtime.onMessage.addListener(function(request, sender, callback) {
// request contains the YOURMESSAGEPAYLOAD sent above as a Javascript object literal
});

您还可以反过来,通过在内容脚本中使用以下内容将消息从内容脚本发送到后台脚本

chrome.runtime.sendMessage({<YOURMESSAGEPAYLOAD>});

然后按照与上面提到的相同的方式在后台脚本中使用onMessage监听器。

关于javascript - 在 chrome.browserAction.onClicked 上调用内容脚本函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25756807/

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