我正在尝试为 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/