0

我是一个 Chrome 扩展程序的新编码,所以为了调用一个函数,我使用这个:

getElementsByTagName('body').addEventListener("load", function() {

  chrome.tabs.getSelected(null, function(tab) {

     alert(tab.url);

  });

}, false);

它不起作用。我也试过这个:

getElementsById('bottom').addEventListener("click", function() {

  chrome.tabs.getSelected(null, function(tab) {

     alert(tab.url);

  });

}, false);

我不知道问题是否出在 manifest.json 中,所以这里是:

{

   //Main

   "name": "Linknote",
   "version": "0.4",
   "manifest_version": 2,
   "description": "Store all your links",
   "permissions": [
     "storage",
     "http://ajax.googleapis.com/",
     "tabs"
   ],

//Chrome Tab

   "browser_action": {

     "default_title": "helloworld",      // optional; shown in tooltip
     "default_popup": "popup.html"        // optional

   }

}
4

2 回答 2

0

如果您使用的是 Chrome 的浏览器操作,那实际上应该是这样的。

chrome.browserAction.onClicked.addListener( function(tab){
    -- Your javascript code here --
});

我想这就是你所缺少的!

于 2012-12-30T16:41:01.237 回答
0

您的代码中有两个错误:第一个是您忘记document在 getElementById 上添加对象。只需在我的 popup.html 中运行此代码,就没有任何问题。

document.getElementById("bottom").addEventListener("click", function() { 
       console.log("Clicked") 
}, false);

第二个是您忘记了 getElementsByTagName 返回 NodeCollection,因此您需要检索要添加 EventListener 的第一个节点

document.getElementsByTagName("body")[0].addEventListener("load", function() { 
       console.log("Loaded") 
}, false);

您的代码在Developer Toolbar中返回语法错误;为了在您的 Chrome 扩展程序中打开它,请单击您的浏览操作图标/页面操作图标,然后右键单击弹出窗口。单击“检查元素”将向您展示一个全新的世界。

于 2012-12-30T16:46:42.523 回答