我正在尝试获取选项页面上设置的信息以更改扩展程序的行为。
基本上,如果 OptionsPage 上的复选框设置为 true,则扩展将运行,否则不会运行。
为了测试目的,我在 background.html 上返回 true,但它仍然不起作用。
你们愿意帮我吗?谢谢!
注入页面的代码:
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>
如果你有一个选项页并且您想与背景页,你可以简单地做,chrome.extension.getBackgroundPage()
与后台页面通信的选项页面
选项.html
var bkg = chrome.extension.getBackgroundPage()
bkg.startExtension();
bkg.stopExtension();
背景.html
function startExtension() {
console.log('Starting Extension');
}
function stopExtension() {
console.log('Stopping Extension');
}
与后台页面通信的内容脚本
当您提到“代码被注入到页面”时,是哪个网站吗?如果是这样,您需要使用内容脚本 with 消息传递。为此,您可以这样做。
内容脚本.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);
任何状况之下,消息传递对于任何想接触扩展的人来说,这是一本很好的读物。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)