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

标签 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()

最佳答案

您没有在 manifest.json 中包含 jquery,并且您无权访问页面的 jQuery 实例 ( read this ),因此您无法在内容脚本上使用 jQuery 。

假设存在一个带有“b2”类的元素,将 clicky.js 中的代码更改为此,它应该可以工作:

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

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

编辑

此外,在 background.js 中,在调用 indexOf 时删除通配符:

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

关于javascript - Chrome 扩展程序可在按下图标时触发点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32346608/

相关文章:

jQuery:离线后 POST 错误(iOS 和 Chrome)

javascript - 我的 HTML5 Canvas 游戏在帧之间不断闪烁

javascript - 简单得令人沮丧 需要 Javascript 帮助

javascript - 如何保护我的 php、jquery、ajax 请求免受黑客攻击?

javascript - 当父项中的选择发生更改时,如何重置依赖子项的值?

javascript - 当鼠标悬停在 div 上时获取该 div 的信息

javascript - window.open 高度在 Google Chrome 中与其他浏览器不同

javascript/angularjs 循环遍历数组仅显示一个对象

javascript - 如何修复我在加载 Facebook javascript-sdk 时遇到的错误?

html - 使 <img> 不可选择和不可拖动在 Firefox 中同样有效,但在 Chrome 或 Opera 中则不然