Google Chrome扩展中的JavaScript事件

Google Chrome扩展中的JavaScript事件,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我刚刚编写了一个Chrome扩展,因此对于调用函数,我使用以下方法: getElementsByTagName('body').addEventListener("load", function() { chrome.tabs.getSelected(null, function(tab) { alert(tab.url); }); }, false); 但它不起作用。我也试过: getElementsById('bottom').addEventListener("

我刚刚编写了一个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

   }

}

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

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

我想这就是你错过的

代码中有两个错误:第一个错误是忘记在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);

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

该JavaScript代码在哪个文件中?该文件名为
popup.js
,我将其添加到扩展名中,并使用此
我已在开发者工具栏中检查此代码,并返回此错误“未捕获类型错误:无法调用null的“addEventListener”方法”,因此,找不到元素
bottom
。有什么问题吗?谢谢你的预付款!您需要一个id为“bottom”的元素才能使用
getElementById
。如果您想要一个元素,那么可以使用
getElementsByTagName
并遍历返回的列表:)是的,我在普通的JS脚本中使用了它,但在我的Google扩展中它不起作用!我不知道为什么:扫描你发布的popup.html?
Extension body{最小宽度:348px;最大高度:700px;overflow-x:hidden;}点击我单击
事件添加到选项卡?我想要一个按钮上的点击事件,该事件将获得实际的选项卡url,但我不确定该代码是否会做到这一点,我是chrome扩展的初学者