【问题标题】:How to find .js file where certain js function is declared (from Chrome)?如何找到声明了某些 js 函数的 .js 文件(来自 Chrome)?
【发布时间】:2011-09-06 00:06:58
【问题描述】:

例如,如果我使用以下代码在 Chrome 中的某个页面上运行:

<div onclick="someFunction('test')"></div>

我想知道哪个js文件包含“someFunction”。有可能吗?怎么做? (我想它可以通过调试来完成,但不知道如何)

【问题讨论】:

  • 进入 devtools 并在右上角的搜索栏中查找“function someFunction”。然后只需单击每个 js 文件,直到找到它。不应该花那么长时间
  • 这可以完成这项工作,但如果该页面有很多 js 文件,它可能会很慢,所以我需要遍历每个文件并在每个页面上进行搜索。我更多地考虑一些快捷方式,如果它存在的话会更快地找到它(例如单击或类似的东西)?
  • 嗯,我不确定这样的快捷方式是否存在,但是你真的会在一个页面上有多少个 js 文件?我可以在 15 秒内从 10 个 js 文件中找到一个函数。
  • @dede,您不需要访问每个文件。单击“脚本”选项卡后,只需在右侧的搜索框中输入“function someFunction”即可。然后单击搜索,这将自动将您定向到包含“function someFunction”的每个文件。

标签: javascript google-chrome


【解决方案1】:

在google控制台中写入函数名,不带括号 例如 - 对于函数 submit(a,b) - 我想知道提交函数在哪里。

只需在控制台中编写提交即可。输出将是函数的定义。单击输出,您将被重定向到该功能。您可以在源选项卡中的开发人员工具顶部看到文件名。

【讨论】:

    【解决方案2】:

    在带有 Web Developer add-on 的 Firefox 中,Information/View Javascript/Expand All,搜索“someFunction”。

    当然,还有很多其他方法可以做到这一点,但是这个插件将页面中的所有 JS 放入一个浏览器中,这使得搜索页面范围内的任何内容变得简单。

    【讨论】:

    • 所以基本上,用 Firefox 代替 Chrome?
    • @Mihai - 你现在也可以在 Chrome 中搜索所有脚本了。
    • 我也有同样的问题。我不知道函数的名称,但我想禁用一个按钮。该怎么做?
    • 我想编辑按钮。脚本太大,不容易弄,是Qlik软件的脚本
    • @karen - 我建议您发布您自己的问题以及您的情况的所有详细信息。
    【解决方案3】:

    我所做的是:[假设您可以访问源代码]

    grep -r "function someFunction" . 
    

    其中. 是开始递归搜索模式的目录。它会显示所有包含模式“function someFunction”的文件。

    顺便说一句,如果您有很多点击,但您想在生成它们的目录中搜索,您可以丢弃包含以下内容的结果:

    grep -r "function someFunction" | grep -v "withouth this text"
    

    希望有帮助!在 Windows 上,也许你可以将它与 cygwin 一起使用?

    如果 someFunction 托管在外部主机上,这当然不起作用...

    【讨论】:

    • 如果函数声明为“var someFunction = function”则不起作用。
    【解决方案4】:

    尝试将页面保存在文件系统中(菜单 -> 将页面另存为 -> 完全网页包) 并通过文本搜索器在文件中找到您的功能。

    【讨论】:

      猜你喜欢
      • 2012-10-14
      • 2018-08-18
      • 1970-01-01
      • 2016-01-21
      • 2021-11-30
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多