1

我正在尝试构建一个在站点上执行操作的 chrome 扩展程序,该站点具有他的 API,例如,如果您单击站点中的编辑链接,则在后台发送一个 API 命令,例如 App.Cases.edit(Casenumber)

当我通过 chrome 扩展发送脚本 API 调用此行时,我收到一个错误,该错误表示它的匿名函数。

所以我所做的是我找到了导致触发点击的元素的路径。正如您在代码中看到的那样,现在我得到一个未捕获的错误:NotFoundError:DOM Exception 8 有人知道如何处理这个问题吗?或者更简单的是如何访问站点 API。

这是代码,这是JS文件

   $(document).ready(function()
   {
        $('#btn1').click(function(){
                    chrome.tabs.executeScript(null,{file:"jquery-1.10.1.min.js"},function() {
                        chrome.tabs.executeScript(null,{code:" $('#row-37416').children().eq(3).children().eq(1).click(); "});

        });



    });

这是html文件:

<html>

    <head>
         <link href="style.css" rel="stylesheet" type="text/css" />
         <script src='jquery-1.10.1.min.js'></script>
         <script src='alert.js'></script>
         <script src='contentscript.js'></script>
    </head>


    <body>
            <h1 id = "title">Extensions</h1>

                <input type = "button" value ="Find And Replace" id="btn1" />

            <div id="content">

            </div>

    </body>

</html>

这是清单文件:

{
  "name": "TEST",
  "version": "1.0",
  "manifest_version": 2,
  "description": "jonathan",

  "content_scripts": [
    {
      "matches": [ "http://*/*", "https://*/*"],
      "js": ["jquery-1.10.1.min.js", "alert.js","contentscript.js"]
    }
  ],
   "permissions": [
    "tabs", "http://*/*" , "https://*/*"
  ],

  "browser_action":{
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }

}
4

1 回答 1

1

使用“trigger()”而不是“.click()”来触发点击。看这里:

http://api.jquery.com/trigger/

于 2013-06-16T23:04:24.493 回答