[英]Javascript Button onClick not working in Chrome extension popup
(链接到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);
。 我将如何使按钮正常工作?
onclick是一种内联脚本,因此在弹出窗口中被禁止。
使用myButton.addEventListener('click',toggleActive);
在您的popup.js中,可以通过任何常规方式获取myButton
,方法是在其html中添加一个id并使用document.getElementById
,或者通过getElementsByClassName, querySelectorAll
或任何其他方式。
toggleActive
定义的toggleActive可以将消息发送到background.js,侦听器将在其中调用背景的toggleActive
,或者您可以使用chrome.runtime.getBackgroundPage
或chrome.extension.getBackgroundPage
获取背景页面(前者是异步的,后者是同步的,返回背景的窗口对象), toggleActive
从此处调用背景toggleActive
,如下所示:
var bkg=chrome.extenstion.getBackgroundPage(); bkg.toggleActive();
也就是说,如果您确实需要在后台而不是弹出窗口中定义toggleActive。
我认为您应该这样做:
<button class="ui fluid red button" onclick="toggleActive()" id="toggle">Toggle Active</button>
单击onclick后,您会忘记括号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.