gpt4 book ai didi

javascript - 浏览器操作单选按钮单击

转载 作者:行者123 更新时间:2023-11-27 23:38:53 25 4
gpt4 key购买 nike

我的问题如下:我能够将监听器附加到 chrome 扩展中的 browser_action 单选按钮,如果我希望它这样做,它可以弹出一个警报窗口,但是

我的目的是隐藏()/显示()页面上的一个按钮,该按钮是我用相同的扩展名插入到 DOM 中的。

我的问题是我错过了什么?我怎样才能让它发挥作用?

您可以在下面找到我正在使用的所有代码片段。

ma​​nifest.json

{"manifest_version": 2,
"name": "Button Summoner",
"description": "This extension shows a pop-up window where you can summon a button",
"version": "0.1",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["https://*/*"],
"js": ["jquery_min.js","summoner.js"]
}]}

summoner.js

jQuery(document).ready(function(){
var button = $('<button id="cc_lookUp_button >Button</button>');
button.hide();
$(button).insertAfter("body");
});

popup.html

<!doctype html>
<html>
<head>
<script src="jquery_min.js"></script>
<script src="popup.js"></script>
</head>
<body>
Enable/Disable Extension<br/>
<input type="radio" id="radioEnable" name="enable" value="enable">Enable</br>
<input type="radio" id="radioDisable" name="enable" value="disable">Disable</br></br>

popup.js

document.addEventListener('DOMContentLoaded', function () {
document.querySelector('#radioEnable').addEventListener('change', changeHandler);
});
function changeHandler(){

if(radioEnable.checked){
alert("BYOB"); //this works like a charm
$('#cc_lookUp_button').show(); //this is not
}
else{
$('#cc_lookUp_button').hide(); // neither this

}
}

没有错误消息,它只是不起作用。

最佳答案

我能够解决该问题,因此我认为与社区分享它很有用。

如果更适合您,您可以使用不同的解决方案,对我来说,将可执行代码分离到不同的文件中似乎是一个有组织的解决方案。

另一种方法是编写“代码:'你的代码在这里'”部分,而不是在 popup.js 中包含另一个 .js 文件。

ma​​nifest.json

{"manifest_version": 2,
"name": "Button Summoner",
"description": "This extension shows a pop-up window where you can summon a button",
"version": "0.1",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["https://*/*"],
"js": ["jquery_min.js","button_show.js","button_hide.js","crafty_postcode.class.js","cc_lookup_summoner.js"]
}]}

popup.js

document.addEventListener('DOMContentLoaded', function () {
document.querySelector('#radioEnable').addEventListener('change', changeHandler);
});
function changeHandler(){

if(radioEnable.checked){
chrome.tabs.executeScript({
file : 'button_show.js'
});
}
else{
chrome.tabs.executeScript({
file : 'button_hide.js'
});
}

button_hide.js

$('#cc_lookUp_button').hide();

button_show.js

$('#cc_lookUp_button').show();

关于javascript - 浏览器操作单选按钮单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33873385/

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