gpt4 book ai didi

google-chrome - Chrome 扩展 - 消息传递

转载 作者:行者123 更新时间:2023-12-04 16:49:45 26 4
gpt4 key购买 nike

我正在尝试获取选项页面上设置的信息以更改我的扩展程序的行为。

基本上,如果 OptionsPage 上的复选框设置为 true,则扩展程序运行,否则不运行。
出于测试目的,我在 background.html 上返回 true,但它仍然不起作用。

你们能帮帮我吗?谢谢!

注入(inject)页面的代码:

if(chrome.extension.sendRequest() == 'true')
alert("checkbox set to true");
else
alert("it is disabled");

背景.html
<script>
chrome.extension.onRequest.addListener(function(){
return true;
}
</script>

最佳答案

如果您有 options page并且您想与 background page 交流,你可以简单地做,chrome.extension.getBackgroundPage()

与后台页面通信的选项页面

options.html

var bkg = chrome.extension.getBackgroundPage()
bkg.startExtension();
bkg.stopExtension();

背景.html
function startExtension() {
console.log('Starting Extension');
}

function stopExtension() {
console.log('Stopping Extension');
}

与后台页面通信的内容脚本

当您提到“将代码注入(inject)页面”时,是指任何网站吗?如果是这样,您需要使用 content scriptMessage Passing .为此,您可以这样做。

content_script.js
chrome.extension.sendRequest({action:'start'}, function(response) {
console.log('Start action sent');
});

背景.html
function onRequest(request, sender, sendResponse) {
if (request.action == 'start')
startExtension()
else if (request.action == 'stop')
stopExtension()

sendResponse({});
};
chrome.extension.onRequest.addListener(onRequest);

无论如何, message passing对于任何进入扩展的人来说都是一本好书。

关于google-chrome - Chrome 扩展 - 消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2998775/

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