Моей проблемы заключается в следующем: я смог прикрепить слушатель к кнопке browser_action радио в расширении хрома и может выскочить окно предупреждения, если я хочу, чтобы это сделать так, НОBrowser действия кнопки радио нажмите
Мое намерение состоит в том, чтобы скрыть()/show() кнопку на странице, которую я вставлял в DOM с этим же расширением.
Мой вопрос в том, что мне не хватает? Как я могу заставить его работать?
Ниже вы можете найти все фрагменты кода, которые я использую.
manifest.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
}
}
Там нет сообщения об ошибке он просто не работает.
Часть, где я добавляю кнопку, работает отлично. Проблема заключается в том, как изменить видимость этой кнопки через всплывающее окно browser_action. Но спасибо за ссылки, которые я прочитаю больше об этой теме. – Gregion
Вы вводите кнопку на странице. Но затем попытаться получить доступ во всплывающем HTML. – Moin
Значения контекста и DOM разные. Используйте обмен сообщениями для связи с скриптом содержимого. – Moin