Chrome扩展程序可在图标按下时触发点击事件

时间:2015-09-02 07:05:44

标签: javascript jquery google-chrome

我正在尝试为Chrome制作扩展程序,以便在点击该图标时,它会触发相关网页中div的点击事件。我无法弄明白。谁能看到或告诉我我做错了什么?这甚至可能吗?

的manifest.json

{
        "name": "Name",
        "version": "1.0",
        "manifest_version": 2,

    "icons": {
     "128": "icon128.png",
     "48": "icon.png"
   },
        "browser_action": {
        "name": "Name"
        },
        "background":{
            "scripts":["background.js"]
        },
        "permissions":["https://inbox.google.com/*"] //Put All your URL here
 }

背景

chrome.browserAction.onClicked.addListener(function (tab) {
    if (tab.url.indexOf("https://inbox.google.com/*") != -1) {
        chrome.tabs.executeScript(tab.id, {
            "file": "clicky.js"
        }, function () {
            console.log("Script Executed .. ");
        });
    }
});

JS

$('.b2')[0].click()

1 个答案:

答案 0 :(得分:2)

您未在manifest.json中添加jquery,并且您无法访问该网页的jQuery实例(read this),因此您可以'在您的内容脚本上使用jQuery。

假设有一个带有' b2'的元素。 class present,将clicky.js中的代码更改为this,它应该有效:

var btn = document.querySelector('.b2');

if(btn){
   btn.click();
}

修改

另外,在background.js中,在致电indexOf时删除通配符:

if (tab.url.indexOf("https://inbox.google.com/") != -1) {