chrome扩展显示div元素中的v2和onclick事件

use*_*690 0 google-chrome google-chrome-extension

我正在将chrome扩展从manifest v1转换为manifest v2.

我从html文件中提取了大部分javascript代码,并将其放在单独的.js文件中.

我在弹出窗口中遇到了div元素的问题.

popup.html中的当前代码是:

  <div onclick="PopupClick('SHOW')" id="blue">Show</div>
Run Code Online (Sandbox Code Playgroud)

显然onclick =""是自v2以来html中不允许的,但是如何替换它,以便用户可以点击div并执行一个函数?

Rey*_*yno 5

popup.html:

 <script src="popup.js" type="text/javascript"></script>

 <div id="blue">Show</div>
Run Code Online (Sandbox Code Playgroud)

popup.js:

 document.addEventListener('DOMContentLoaded', function () {  
 document.getElementById("blue").addEventListener('click',
 clickHandler); }); 

function clickHandler(e) {   PopupClick('SHOW'); }

 function PopupClick(str) {
   //Do your thing here 
}
Run Code Online (Sandbox Code Playgroud)

就像Rob W所说,在http://developer.chrome.com/extensions/contentSecurityPolicy.html#H3-1中很明显

我实际上遇到了这个问题,这段代码帮助我从清单v1移动到v2.