Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome扩展:在页面上添加按钮,单击添加的元素后执行脚本_Javascript_Jquery_Google Chrome_Google Chrome Extension_Manifest.json - Fatal编程技术网

Javascript Chrome扩展:在页面上添加按钮,单击添加的元素后执行脚本

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",

我正在开发一个chrome扩展,它可以让用户点击一个添加的按钮来通知我他们的兴趣

基本上,我构建了一个chrome扩展,它显示了一个工具栏,我希望用户能够点击这个工具栏,然后执行一个脚本

这是我的代码,它不工作

manifest.json文件:


{
  "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发送消息来处理它:)谢谢!