簡體   English   中英

JavaScript按鈕onClick在Chrome擴展程序彈出窗口中不起作用

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM