[英]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.