0

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

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

我对弹出窗口中的 div 元素有疑问。

popup.html 中的当前代码是:

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

显然从 v2 开始在 html 中不允许 onclick="" ,但是如何替换它,以便用户可以单击 div 并执行一个函数?

4

2 回答 2

6

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中很清楚

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

于 2012-08-11T10:40:49.857 回答
2

也许事件?<script src="js/my_script.js">在您的头部包含类似的内容popup.html,然后将代码粘贴到该 js 文件中。

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

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

于 2012-08-02T03:14:40.170 回答