【问题标题】:Differences: View Page Source vs. View in Firebug差异:查看页面源代码与在 Firebug 中查看
【发布时间】:2013-01-30 14:32:03
【问题描述】:

当我查看页面的页面源(例如:http://my.sa.ucsb.edu/public/curriculum/coursesearch.aspx)时,其中没有太多代码/信息。例如,在该链接页面上,页面源中没有显示任何课程信息。

但是:当我在 firebug 中查看它时,我可以看到更多的 html 信息。例如,我可以在表格中查看所有班级信息。

这是为什么呢?如何访问完整的(firebug html)?我可以用 php/javascript 做吗?

【问题讨论】:

  • 粗略一看,来源和页面似乎对应得很好。能详细点吗?
  • 在 chrome 中查看该页面的页面源代码给了我一大堆代码,不知道为什么你觉得它给你的代码少。如果你使用 Firefox 就使用 firebug,如果你使用 chrome 使用开发者工具,如果你使用 IE 则升级。

标签: php javascript html firebug webpage


【解决方案1】:

这是事情发生的顺序:

  1. PHP 生成 HTML
  2. 浏览器加载 HTML
  3. JavaScript 操作加载的 HTML

这是为什么?

查看源浏览器功能通常显示浏览器接收到的纯 HTML。 Firefug 等其他高级工具能够在被 JavaScript 更改后显示当前的 HTML。 (Firefox 本身也有这个功能:只需右键单击一些生成的 HTML 并选择“查看选定的源”。)

如何访问完整的(firebug html)?

我不确定 HTML 选项卡,但网络选项卡始终显示从服务器接收到的文档。

我可以用 php/javascript 做吗?

当原始 HTML 到达浏览器时,PHP 不再运行。

JavaScript 可以显示带有任何 DOM 节点的 .innerHTML 属性的 HTML。

【讨论】:

    【解决方案2】:

    查看源代码显示浏览器从服务器获取的内容。 Firebug 显示浏览器 DOM - 即存在于浏览器内存中的页面视图的表示。 DOM 可以通过 Javascript 进行更改。 Javascript 可以通过使用 document 值访问 DOM,然后访问其子项等。例如,要查看所有表,您可以使用 document.getElementsByTagName('table')

    如果您希望整个 DOM 内容为 HTML,您可以执行 document.getElementsByTagName('html')[0].innerHTML 之类的操作

    【讨论】:

      【解决方案3】:

      查看源代码只是向您显示从服务器加载的 HTML,这意味着在页面加载后对 DOM 所做的任何更改都不会显示。页面源仅在页面加载完成时向您显示第一个源。

      另一方面,Firebug 是动态的,它向您展示 DOM 以及它是如何被操作的。当 DOM 发生变化时,Firebug 的源代码也会发生变化。这对于调试很重要,因为您可以看到实际发生的情况,这与查看源代码不同。

      【讨论】:

        【解决方案4】:

        当使用“查看源代码”查看源代码时,您查看的 HTML 是您所在 URL 的 HTML,并且是未经 JavaScript 和排序的任何修改的 HTML。 此外,如果页面的代码中有框架或 iframe,它们的内容也不会显示。

        相反,在 firebug 中,对 HTML 的动态更改和帧/iframe 的内容将是可见的。

        此外,在页面完全加载之前查看其源代码可能是没有完整 HTML 代码(或根本没有任何 HTML 代码)的原因。

        使用 JavaScript 遍历 HTML 代码将始终返回完整更新的 HTML 代码。 (即你会在萤火虫中看到的)

        我不确定您想如何使用 PHP 访问 HTML,但是 PHP 在到达浏览器后无法访问代码。但是,如果您向 PHP 发送一个 URL 以加载 HTML,那么您将拥有的 HTML 是任何动态更改之前的原始 HTML(即您将在“查看源代码”中看到的那个)

        【讨论】:

          【解决方案5】:

          firebug 还会向您显示 css 文件,该文件将通过主 html 定位到

          <link rel="stylesheet" type="text/css" href="css">
          

          因此显示更多信息。

          【讨论】:

            【解决方案6】:

            第一次加载页面时,页面源会显示 HTML。它不会显示在页面加载后或单击网页上的任何按钮后使用 javascript 等所做的修改。要查看当前可见的 DOM,可以使用以下命令:

            对于 IE/firefox,以下小书签有效: https://www.squarefree.com/bookmarklets/webdevel.html#generated_source

            对于谷歌浏览器,右键单击任何元素并选择“检查元素”选项。它将显示元素在 DOM 中的位置。现在右键单击'

            对于歌剧,右键单击任何元素并选择“检查元素”。这将启动歌剧蜻蜓。在蜻蜓窗口中,单击“展开 DOM 树”按钮(第一个按钮带有一个点和两个箭头),然后单击“导出当前 DOM 面板”按钮(第二个按钮)

            在IE中,打开网页,按F12打开开发者工具。在开发者工具窗口中点击 View->Source->DOM(page) 或快捷键 Ctrl+Shift+G。这将显示当前可见的完整 DOM。

            对于 Firefox,替代方法是 Web developer toolbar extension 并选择 View Source->View Generated source in it。

            【讨论】:

              【解决方案7】:

              查看源代码在页面加载时为您提供页面的源代码,要获取当前的 html,Web 开发人员工具(Firefox 插件)中有一个选项 - “查看生成的源代码”

              在菜单中:

              view source -> view generated source
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2013-12-03
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多