(链接到git:https://github.com/Boundarybreaker/NameBlock)
我正在开发一个文本替换扩展程序,可以使用popup.html
中单击的按钮切换打开和关闭,但只有在我单击图标时才会发生这种情况。 (视频:https://drive.google.com/file/d/0B_3pLT_KI8V8OHJFUHQ5a1JURkE/view?usp=sharing)
该按钮的代码为<button class="ui fluid red button" onclick=toggleActive() id="toggle">Toggle Active</button>
,而toggleActive()
是background.js
中的一个函数,以及一个监听器chrome.runtime.onMessage.addListener(toggleActive);
。如何让按钮正常工作?
答案 0 :(得分:0)
onclick是一种内联脚本,因此在弹出窗口中被禁止。
在popup.js中使用myButton.addEventListener('click',toggleActive);
通过在html中添加ID并使用myButton
或document.getElementById
或任何其他方式,以任何常规方式获取getElementsByClassName, querySelectorAll
。
toggleActive
可以向background.js发送消息,监听器将调用后台toggleActive
,或者您可以获取{{1}的后台页面}或chrome.runtime.getBackgroundPage
(前者是异步,后者是同步,返回背景窗口对象)并从此处调用背景chrome.extension.getBackgroundPage
,如下所示:
toggleActive
也就是说,如果你真的需要在后台而不是弹出窗口中定义你的toggleActive。
答案 1 :(得分:-1)
我认为你应该这样做:
<button class="ui fluid red button" onclick="toggleActive()" id="toggle">Toggle Active</button>
在onclick上忘记了括号。