Javascript Chrome扩展-onclick图标事件

Javascript Chrome扩展-onclick图标事件,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,正如您所看到的,我在chrome扩展中的onclick事件有问题,我需要您的帮助 $(function jony() { jQuery.each( jQuery('img'), function() { jQuery(this).attr('src', 'urlimage'); }); }); chrome.browserAction.onClicked.addListener(function(tab) { jony(); }); 舱单: { "manif

正如您所看到的,我在chrome扩展中的onclick事件有问题,我需要您的帮助

$(function jony() {
    jQuery.each( jQuery('img'), function() {
    jQuery(this).attr('src', 'urlimage');
    });
});

chrome.browserAction.onClicked.addListener(function(tab) {
   jony();
});
舱单:

{
  "manifest_version": 2,

  "name": "Jonyzátor",
  "description": "Change images on page to JoNy!",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png",
    "default_title": "Klikni na mě!"
  },
  "permissions": [
    "activeTab",
    "https://ajax.googleapis.com/"
  ],
  "content_scripts": [ {
    "js": [ "jquery.js", "jonyza.js"],
    "matches": [ "http://*/*", "https://*/*"]
  }]
}
  • jony
    的定义范围仅限于
    $()
    ;在外面,它只是没有定义

    function jony() {
      jQuery.each( jQuery('img'), function() {
      jQuery(this).attr('src', 'urlimage');
    }
    
    $(jony); // Will execute on page load
    
    // and you can still use it here
    
    我不确定这是您想要的逻辑-您希望它在页面加载和单击时都运行吗

  • 您不能在内容脚本中使用
    browserAction
    API。合适的地方应该是一个(或)脚本,然后你可以使用你的内容脚本来做一些事情


  • 那么你到底有什么问题?它根本看不见。。。你需要什么样的帮助?毫无疑问,当我点击then图标时,我希望脚本运行。我现在遇到的问题是,它会自动加载到每一页上。我只希望它在我单击图标时执行脚本。@AlešŠvec那么你不需要在一段时间内调用它。