Javascript Chrome扩展:在页面上添加按钮,单击添加的元素后执行脚本
我正在开发一个chrome扩展,它可以让用户点击一个添加的按钮来通知我他们的兴趣 基本上,我构建了一个chrome扩展,它显示了一个工具栏,我希望用户能够点击这个工具栏,然后执行一个脚本 这是我的代码,它不工作 manifest.json文件:Javascript Chrome扩展:在页面上添加按钮,单击添加的元素后执行脚本,javascript,jquery,google-chrome,google-chrome-extension,manifest.json,Javascript,Jquery,Google Chrome,Google Chrome Extension,Manifest.json,我正在开发一个chrome扩展,它可以让用户点击一个添加的按钮来通知我他们的兴趣 基本上,我构建了一个chrome扩展,它显示了一个工具栏,我希望用户能够点击这个工具栏,然后执行一个脚本 这是我的代码,它不工作 manifest.json文件: { "manifest_version": 2, "name": "XX Extension", "version": "1.0", "description": "The best extension for my friends",
{
"manifest_version": 2,
"name": "XX Extension",
"version": "1.0",
"description": "The best extension for my friends",
"icons":{
"128" : "images/icon128.png",
"48" : "images/icon48.png",
"16" : "images/icon16.png"
},
"background": {
"scripts": ["js/jquery-3.4.1.min.js", "js/background.js"]
},
"permissions": [
"contextMenus",
"activeTab",
"tabs",
"notifications"
],
"content_scripts": [
{
"matches": ["https://www.mysite.fr/produit/*", "*://*.mysite.fr/produit/*"],
"css": ["css/extension_style.css"],
"js": ["js/jquery-3.4.1.min.js", "js/content.js"]
}
],
"browser_action": {
"default_icon": "images/icon16.png",
"default_title": "XX Extension",
"default_popup": "popup.html"
},
"web_accessible_resources": [
"toolbar.html",
"css/extension_style.css"
]
}
content.js文件:
var script_text=$("script:contains(['ean'])").html();
var product_ean=script_text.split("['product']['ean']")[1].split(";")[0].replace("= '","").replace("'","");
chrome.runtime.sendMessage(product_ean);
var url = chrome.extension.getURL('toolbar.html');
var height= '35px';
var iframe = "<iframe src='"+url+"' id='myOwnCustomToolBar_TT91' style='height:"+height+"'></iframe>";
$('html').append(iframe);
$('body').css('transform','translateY('+height+')');
/* Topbar clicked */
$('#myOwnCustomToolBar_TT91').on('click', function(){
alert('it is clicked');
// do stuff executing js script
});
chrome.runtime.onMessage.addListener(function(response, sender, sendResponse){
alert("Le code EAN de ce produit RDC est "+response);
});
chrome.browserAction.onClicked.addListener(function(){
chrome.tabs.executeScript(null, {
code : "alert('Wow it is working guy');"
});
});
chrome扩展可以很好地警告产品的EAN代码,但是扩展在附加的顶部栏上的单击事件不起作用
非常感谢您的反馈和帮助
致以最诚挚的问候,
单击事件在iFrame上不起作用。例如,在body
中添加toolbar.js(加载在iframe html中的脚本)或任何其他相关的内部元素中的侦听器。很好,它现在已经解决了-我刚刚通过一个经典的div更改了ifram:)它可以工作,我可以向background.js发送消息来处理它:)谢谢!