为什么FireFox调试器没有显示完整的源代码?

时间:2016-01-10 01:36:37

标签: javascript debugging firefox

我正在尝试在FireFox v42.0 Windows 10中调试网页,其中该网页通过代理服务器并通过<script>...</script>内联注入代码(不包括单独的.js文件)由代理服务器。当我右键单击View Page Source时,我会看到原始页面加上我期望注入的代码(以及实际运行的代码)。我还在Inspector选项卡的DOM视图中看到了注入的内容。它也可以在“响应”部分的“网络”选项卡中看到。但是,当我在调试器中查看同一页面时,注入的代码不可见,就好像页面没有通过代理服务器运行一样。

此外,如果我在注入的代码中插入debugger;语句,我会点击断点,但在FireFox调试器选项卡中,它告诉我我在一个文件的第550行,其中只有173行根据FireFox。所以我无法单步执行代码。

当我在Chrome中执行相同操作时,我会看到我期待的内容,即我页面中注入的代码,并且我能够毫无问题地调试此代码。

我已清除缓存无效。我查看了“网络”选项卡,所有内容都按预期显示。

FireFox如何以及为什么没有向我显示调试器选项卡中的实际页面(匹配View Source或DOM视图中的内容),而不是让我单步执行注入的代码?

4 个答案:

答案 0 :(得分:3)

以下内容对我有用

  1. 从地址栏中复制网址,然后关闭标签页。
  2. 以私有模式打开url,调试器将显示源。
  3. 关闭私有窗口并以默认模式打开,调试器现在显示源代码。

答案 1 :(得分:2)

尝试刷新Firefox:

&#34;刷新Firefox

  1. 单击菜单按钮,然后单击帮助。

  2. 从“帮助”菜单中选择“疑难解答信息”。

  3. 单击Troubleshooting Information页面右上角的Refresh Firefox按钮。

  4. 要继续,请在打开的确认窗口中单击“刷新Firefox”。

  5. Firefox将关闭以刷新自己。完成后,窗口将列出您导入的信息。单击“完成”,Firefox将打开。&#34;

  6. 检查以获取更多信息:

    https://support.mozilla.org/en-US/kb/refresh-firefox-reset-add-ons-and-settings

    我遇到了同样的问题。我按照这些说明解决了它。

答案 2 :(得分:1)

Firefox中有一些错误可能导致我自己遇到此错误:

  • 本地缓存问题,可以通过以下方法解决:首先关闭开发工具窗口,然后重新加载页面(Ctrl / Cmd + Shift + R),然后重新打开调试器。
  • 试图调试容器中的选项卡,但是源显示的页面与容器外部相同。请参见错误1375036)。
  • 类似于上一点,调试器源向您显示了与浏览器当前实际呈现的文档略有/完全不同的文档。这是因为调试器无权访问用于呈现当前页面的浏览器的原始标记和内联脚本!显然,这种方式旨在提高内存效率,但似乎忽略了开发人员想要使用内存来存储源的事实,因为他们想要实际的源。查看诸如106073211498351472581之类的错误。

如果发生这种情况,请尝试在默认/无容器中进行调试,或者仅在Chrome中进行调试。如果您无法在其他浏览器中进行调试,请至少先尝试使用新的配置文件,然后再按照其他人的建议“刷新”(核对)Firefox。为此,您可以使用-P标志打开Firefox,然后创建一个新的标志,例如在Windows上运行C:\Program Files\Firefox Developer Edition\firefox.exe -P --no-remote--no-remote标记不是必需的,但允许您在主配置文件旁边运行新的配置文件,但不会处理其他程序中单击的链接。

答案 3 :(得分:-1)

我很欣赏我在聚会上有点迟到,但我也有这个问题。

在我的情况下,通过单击 Sources 选项卡并向下钻取到我想要查看的源文件来解决问题。之后,当我追踪它时,所有源代码都会自动加载。

希望这有助于某人。