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

时间:2012-08-01 21:35:24

标签: google-chrome google-chrome-extension

我正在将Chrome扩展程序从清单v1转换为清单v2。

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

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

popup.html中的当前代码是:

  <div onclick="PopupClick('SHOW')" id="blue">Show</div>

从v2开始,html中不允许使用onclick =“”,但是如何替换它, 这样用户可以点击div并执行一个函数吗?

2 个答案:

答案 0 :(得分:5)

popup.html:

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

 <div id="blue">Show</div>

popup.js:

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

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

 function PopupClick(str) {
   //Do your thing here 
}

就像Rob W所说的那样,在http://developer.chrome.com/extensions/contentSecurityPolicy.html#H3-1

中很清楚

我实际上遇到了这个问题,这段代码帮助我从manifest v1转到v2。

答案 1 :(得分:2)

也许是活动?在<script src="js/my_script.js">的头部添加popup.html之类的内容,然后将代码粘贴到该js文件中。

var blueDiv = document.getElementById("blue");
    blueDiv.addEventListener("click", function(){
        PopupClick("SHOW");
    }, false);

或者您应用的某些细节不允许您这样做?或者我不明白这个问题。