Chrome扩展程序如何响应页面中的按钮点击?

时间:2014-06-21 01:49:48

标签: javascript google-chrome-extension

我是第一次尝试编写Chrome扩展程序,我希望它能够响应点击按钮,类似于facebook按钮,G +按钮等。这意味着我想要扩展程序在任何页面上工作,但只响应具有特定ID或某事物的按钮,这对于"权限"而言似乎很棘手。和/或"匹配" JSON清单的项目。

由于我不熟悉扩展,我应该让按钮有自己的javascript函数,以某种方式调用/激活扩展,或者我应该让扩展有一个事件监听器(这是在内容脚本中吗? )哪个侦听特定的按钮点击事件?

注意:我看了this question 但在这种情况下的扩展是针对特定的网页,所以我不相信答案对我有用。

2 个答案:

答案 0 :(得分:2)

您想要的第一件事是您的扩展程序应该适用于所有页面,因此请将您的内容脚本包含在清单中,如下所示:

"content_scripts": [
    {
        "matches": [
            "<all_urls>"
        ],
        "js": [
            "jquery.js",
            "myscript.js"
        ]
    }

这将在每个页面中注入myscript.js。现在只需检查您所需的按钮是否存在。例如:

if(document.getElementById('gplus') != null) {
   // Add your implementation.
   var g = document.getElementById('gplus');
   g.click = funct;
}

现在根据自己定义函数funct()。

答案 1 :(得分:0)

尝试使用内容脚本。 他们表现得像是页面的一部分。如果我有一个document.getelementbyid("#hi").onclick=function(){};并且有人点击了一个id为&#34的按钮,那么&#34;在当前页面内,事件将会触发。

阅读详情:https://developer.chrome.com/extensions/content_scripts