Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 为任何页面创建按钮单击处理程序_Javascript_Google Chrome_Javascript Events_Google Chrome Extension - Fatal编程技术网

Javascript 为任何页面创建按钮单击处理程序

Javascript 为任何页面创建按钮单击处理程序,javascript,google-chrome,javascript-events,google-chrome-extension,Javascript,Google Chrome,Javascript Events,Google Chrome Extension,我正在尝试做一个Chrome扩展。我的目标是做到以下几点: 单击具有特定id的按钮或链接时运行特定javascript 该按钮或带有特定id的链接可以出现在任何网站上 我的代码看起来很简单,但我不确定我遗漏了什么。jquery在chrome扩展中不会以这种方式工作吗?普通javascript中是否有任何等效代码 manifest.json { "name": "Handle a button click", "version": "1.1", "background": { "scr

我正在尝试做一个Chrome扩展。我的目标是做到以下几点:

  • 单击具有特定id的按钮或链接时运行特定javascript
  • 该按钮或带有特定id的链接可以出现在任何网站上
  • 我的代码看起来很简单,但我不确定我遗漏了什么。jquery在chrome扩展中不会以这种方式工作吗?普通javascript中是否有任何等效代码

    manifest.json

    {
      "name": "Handle a button click",
      "version": "1.1",
      "background": { "scripts": ["background.js"] },
      "permissions": [
        "tabs"
      ],
      "browser_action": {
          "name": "click to handle"
      },
      "content_scripts": [
        {
          "matches": ["<all_urls>"],
          "js": ["jquery-1.9.0.min.js"]
        }
      ],
      "manifest_version": 2
    }
    
    多谢各位

    更新在对background.js进行调试后,我看到“未捕获引用错误:$未定义”,jQuery文件未被包含?或者为什么?

    试试这个:

    $(document).ready(function(){
      $(document).click(function(event){
        if(event.target.id == "my_submit"){    
            alert("yo");
        }
        });
    });
    
    如果触发单击事件的元素具有id
    my\u submit
    ,则检查所有单击事件,如果是,则发出警报

    试试这个:

    $(document).ready(function(){
      $(document).click(function(event){
        if(event.target.id == "my_submit"){    
            alert("yo");
        }
        });
    });
    
    如果触发单击事件的元素具有id
    my\u submit
    ,则检查所有单击事件,如果是,则发出警报



    我要侦听单击事件的元素的id,实际上是“特定id”我说的是这样的
    manifest.json
    如果它是一个静态文件,如果它直接位于操作系统中没有代理服务器的地址,它可能会被浏览器阻止。是的,我可以看到它是一个元素的id,但它被选中了吗?我遵循了教程,实际编辑了一个工作扩展,为什么它会被阻止。。。。“它被选中了吗?”我不明白,它只是一个简单的单击侦听器功能,不是吗?我只是想说明一点,它和发布的问题之间没有共同点。但是如果它在我想要监听click事件的元素的id上正常工作,实际上是“特定id”我说的是这样的
    manifest.json
    如果它是一个静态文件,如果它直接位于操作系统中没有代理服务器的地址,它可能会被浏览器阻止。是的,我可以看到它是一个元素的id,但它被选中了吗?我遵循了教程,实际编辑了一个工作扩展,为什么它会被阻止。。。。“它被选中了吗?”我不明白,它只是一个简单的单击侦听器功能,不是吗?我只是想说明一点,它和发布的问题之间没有共同点。但是如果它工作正常,那么当我检查元素时,我在background.js中得到一个错误,它说“uncaughtreferenceerror:$未定义”:(但是“content\u scripts”当你编写chrome扩展时,插入jquery的方法是吗?@cjmling,是的,然后是你自己的脚本。我就是这样做的。首先是jquery,然后是你自己的脚本在内容脚本行中…好哇,是的,这很有效…我试着把我自己的脚本放在jquery之前,但不是之后。从没想过:谢谢Alot@cjmling,没问题很高兴我能帮上忙:Ddoesn没有工作,当我检查元素时,我在background.js中得到错误,说“uncaughtreferenceerror:$未定义”:(但“内容脚本”当你编写chrome扩展时,插入jquery的方法是吗?@cjmling,是的,然后是你自己的脚本。我就是这样做的。首先是jquery,然后是你自己的脚本在内容脚本行中…好哇,是的,这很有效…我试着把我自己的脚本放在jquery之前,但不是之后。从没想过:谢谢Alot@cjmling,没问题我很高兴能帮上忙