50

这有点与编码无关,但程序员经常在自己的页面和其他人的页面上“查看源代码”。我了解到,当您在 Firefox 中执行普通查看源代码时,它会获取您所在的 URL 并向该 URL 发出另一个 GET 请求。这不好的原因有两个:

  1. 如果您刚刚发布了 POST 并查看源代码,您将看不到浏览器实际为您呈现的 HTML。
  2. 如果站点作者错误地制作了一个采取某些行动的表格(发送电子邮件或写入数据库或其他任何东西),那么将再次采取(或尝试)该行动。这有点危险。

我听说有一些东西可以添加到 about:config 中来防止这种情况发生,但没有运气。我还阅读了一些可以解决这个问题的扩展,其中包括 Firebug,但 ctrl-shift-u 与 F12 相比非常方便,然后单击几下即可找到您感兴趣的元素。

所以......我可以翻转一个开关来让 Firefox 的 View Source 一直像 View Generated Source 一样,并点击缓存而不是发出新的 GET 请求?

4

12 回答 12

28

如果您安装Web 开发人员工具栏扩展,“查看源代码”下有一个名为“查看生成的源代码”的选项,它将向您显示页面的当前源代码,包括您可能所做的任何 DOM 更改。

于 2009-03-04T17:32:33.640 回答
21

您执行 Ctrl+A,右键单击并“查看选择源”,这不会重新请求页面。

于 2009-03-04T17:29:16.113 回答
4

“查看生成的源代码”与通过“查看源代码”获得的源代码不同。

查看生成的源“改进”代码、解析 html、在标签之间添加换行符、更改属性顺序 (width="100%" cellpadding="0" => cellpadding="0" width="100%")、添加属性值(nowrap => nowrap="nowrap")和标签(tbody from nowhere)等。

您可能认为这更好,但如果您想将旧生成的源代码与实际文件进行比较,它是没有用的。

您最好的选择是搜索目录缓存。

问候

于 2010-11-16T21:53:24.273 回答
3

使用 FireBug 扩展。它仅显示(并允许您导航)呈现的源,因此不需要另一个请求(并且它显示 Javascript 更改)。

于 2009-03-04T17:33:14.700 回答
1

尽管被破坏了至少 16 年,并且在 Mozilla 的错误跟踪器上仍然没有得到正式解决,但实际上这似乎已经随着2021 年 9 月 17 日发布的 Firefox 92.0 的发布而悄然修复。


上一个答案:

这在 Firefox 中被破坏了一段时间:

https://bugzilla.mozilla.org/show_bug.cgi?id=307089

他们对错误跟踪器的响应速度不是很快,但您的选择是:

(1) 向错误跟踪器抱怨,
(2) 自己修复它,它是开源软件,
(3) 找到另一个浏览器。

于 2017-06-15T16:52:11.903 回答
0

扩展@Techn4k 的答案:如果您设置了这两个属性,但仍然获得重新获取或重新发布行为,请清除浏览器缓存:转到about:preferences#advanced,单击网络选项卡,然后单击clear now(或类似)缓存信息部分。

这允许 Firefox 获取和缓存页面,因此不会出现 re-GET 或 re-POST。

于 2015-02-19T13:02:03.123 回答
0

这令人不安。上述方法的替代方法是使用 F12 打开调试器,然后单击网络选项卡。

当您浏览到不同的页面时,会显示每个 GET/POST。然后,您可以单击所需的帖子,然后单击“响应”选项卡以查看浏览器接收到的数据。

于 2015-04-17T10:47:28.783 回答
-1

该解决方案在 2012 年还可以,但如今已不再适用。

在地址栏中输入“about:config”。在过滤器框中,键入:“browser.cache”“browser.cache.disk.enable”和“browser.cache.memory.enable”必须设置为 TRUE。完毕 !所有功劳归功于@MatrixFrog

于 2012-04-11T09:54:58.373 回答
-1

您可以在发出查看源代码命令之前将 Firefox 设置为离线模式。它不会(能够)获得新的页面源。

于 2016-12-14T10:21:20.383 回答
-2

打开开发控制台(使用 F12、右键菜单中的“检查元素”等)并导航到检查器选项卡。右键单击面板中显示 DOM 树的任意位置,然后单击“全部展开”。滚动到 DOM 树的最顶部并右键单击该<html>标记。单击“编辑为 HTML”,整个 DOM 树应出现在可编辑的文本框中。现在应该可以使用 Ctrl+A 进行选择。复制并粘贴到您选择的目的地。

请记住,如果源本身包含 URL,例如从 CDN 导入样式,这意味着您的页面副本仍然不会独立加载,并且如果您无法访问这些资源,则看起来会有所不同。它将是页面原始逻辑的精确副本,以及您的更改。

于 2019-12-05T12:08:52.857 回答
-3

这是一个较老的问题,但它仍然会不时发生,具体取决于它们当前在最新的 Firefox 中出现的问题或导致冲突的细微扩展错误。

我想发布一个似乎对我始终有效的解决方法,因为最终我们必须完成工作,而不是花费数小时试图解决这个问题。

只需添加 view-source:到 url 的开头,它就会显示带有您尝试使用的获取/发布数据的源。

IE。

view-source:http://stackoverflow.com/

不是真正的解决方案,而是完成工作的变通方法。

于 2012-12-22T07:20:16.680 回答
-3

从 Firefox 42.0 开始,单击“查看源代码”不应执行新的 GET 请求,而是使用缓存:

重要的是,我们还确保 View Page Source 按原样从 Firefox 的缓存中为您提供页面源——我们不会获取新版本。

参考:https ://hacks.mozilla.org/2015/07/developer-edition-41-view-source-in-a-tab-screenshot-elements-har-files-and-more/

于 2016-01-20T16:57:12.840 回答