我正在尝试为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()
答案 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) {