В чем разница между «источником» и «сгенерированным источником»? - PullRequest
9 голосов
/ 02 июля 2010

В чем разница между «источником» и «сгенерированным источником» в Firefox?

Пожалуйста, объясните с примером.


Редактировать: 3 июля

Какой источник использует «Поисковая система», Создан или создан ранее?

Ответы [ 5 ]

5 голосов
/ 02 июля 2010

Источник покажет источник, с которым страница была загружена (обслуживается сервером).

Сгенерированный исходный код будет извлекать «исходный код» из текущих элементов DOM и, следовательно, включать элементы, динамически создаваемые JavaScript.

Например, источник будет показывать:

<script>
  window.onload = function(){
    document.getElementById('test').innerHTML = 'Generated Content';
  }
</script>
<html>
  <div id='test'>Source</div>
</html>

и Сгенерированный источник будет «рисовать» источник в тот момент, когда вы нажмете «Просмотр сгенерированного источника», после чего содержимое div будет изменено, и вы увидите:

<script>
  window.onload = function(){
    document.getElementById('test').innerHTML = 'Generated Content';
  }
</script>
<html>
  <div id='test'>Generated Content</div> <!-- Note the difference here -->
</html>
5 голосов
/ 02 июля 2010

Просмотр источника покажет источник, который обслуживался сервером.

Просмотр сгенерированного исходного кода покажет исходный код того, что на самом деле отображается - включая изменения в JavaScript и т. Д.

4 голосов
/ 02 июля 2010

Это действительно довольно просто.

Источник:

<body>
    <script>document.write("hello, world");</script>
</body>

Сгенерированный источник:

<body>
    <script>document.write("hello, world");</script>
    hello, world
</body>

Более подробно: «источник» - это то, что поступает в браузер в ответ на запрос страницы. «Созданный источник» - это то, что браузер имеет после всех срабатываний JavaScript.

3 голосов
/ 02 июля 2010

Термин «Сгенерированный источник» является неправильным, поскольку то, что вы видите, вовсе не «источник».«Источник» - это HTML-код, отправляемый в браузер.«Сгенерированный источник» - это сериализация текущего состояния объектной модели, полученная в результате анализа источника, а также последующие изменения этой объектной модели в результате применения сценария.Другие ответы обсуждали JavaScript, но эффект парсера не следует сбрасывать со счетов.

Рассмотрим этот источник:

<title>My Test Example</title>
<table>
  <tr>
    <td>Hello</td>
    <div>There</div>
</table>

Сгенерированный источник (после добавления пробела для ясности):

<html>
    <head>
         <title>My Test Example</title>
    </head>
    <body>
         <div>There</div>
         <table>
              <tbody>
                   <tr>
                         <td>Hello</td>
                   </tr>
              </tbody>
         </table>
    </body>
</html>

Посмотрите, как html, head, body и tbodyоткрывающий и закрывающий теги были добавлены синтаксическим анализатором, также был добавлен закрывающий тег tr.Кроме того, div был перемещен до таблицы.

0 голосов
/ 02 июля 2010

«просмотреть исходный код» показывает фактический код в вашем файле, как если бы вы открыли файл в текстовом редакторе.

«просмотр сгенерированного источника» показывает, как браузер отображает его на экране после того, как был выполнен весь сценарий на стороне сервера (Javascript, PHP и т. Д.).

, так что если вы проиндексированы.html имел пустой div и image.jpg был 'AJAXed' в этом div с использованием Javascript, тогда «просмотр источника» покажет вам

<div></div>

, но «просмотр сгенерированного источника» покажетВы

<div><img src="image.jpg"/></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...