Как предотвратить обновление Chrome при просмотре источника?

При просмотре источника страницы в Google Chrome браузер открывает новую вкладку и в основном вставляет URL-адрес с префиксом view-source: Это нежелательно.

Как разработчик, я могу включить некоторые диагностические данные, которые видны только в источнике после отправки формы. Когда Chrome обновляет страницу, чтобы просмотреть источник, эта информация исчезает.

Есть ли способ предотвратить это поведение?

Примечание. Я знаком с опцией «Проверить элемент». Это не является достаточным средством для просмотра исходного источника исходной страницы, на которую вы смотрите.


Быстрый тестовый скрипт

 <pre> <?= print_r($_POST, true) ?> </pre> <form action="" method="post"> <input id="foo" name="foo" value="bar" /> <input type="submit" /> </form> 

После нажатия кнопки «Отправить» на странице отображается

 Array ( [foo] => bar ) 

Если вы просматриваете источник страницы, вы увидите пустой вывод $_POST

 <pre> Array ( ) </pre> <form action="" method="post"> <input id="foo" name="foo" value="bar" /> <input type="submit" /> </form> 

Обновить

По-видимому, эта ошибка уже представлена. Вздох…

Если кто-нибудь знает о хорошей работе, я бы очень признателен.

На странице отчета об ошибках обходной путь, упомянутый в комментарии 12, работает: В Инструментах разработчика включите отслеживание ресурсов. (Если он отключен, включение этого параметра приведет к повторной отправке запроса, который сгенерировал текущую видимую страницу, либо POST, либо GET.) В списке ресурсов вы можете щелкнуть по главной странице, чтобы увидеть исходный код, поскольку он был возвращен, Для запросов POST и GET.

Введите описание изображения здесь

Введите описание изображения здесь

Введите описание изображения здесь

Введите описание изображения здесь

Введите описание изображения здесь

Больше информации

Я провел несколько тестов, используя простой php-файл, который показал используемый метод запроса, и значение POSTed, журнал прокси-сервера, чтобы узнать, какие запросы выполнял Chrome, и chrome://net-internals/view-cache/ prefix, чтобы увидеть, что Chrome был кешированием.

Когда вы используете команду «Просмотр источника», Chrome показывает источник своей кешированной версии страницы и кэширует только страницы, запрошенные с помощью метода GET.

Если вы просматриваете страницу, которую вы запросили ранее, используя GET и POST, тогда кэшируется только версия GET. Использование команды «Просмотр источника» не будет повторно запрашивать страницу, но покажет версию кешированного GET, а не текущую видимую версию POST, если таковая имеется.

Если вы просматриваете страницу, которую вы запрашивали только с помощью метода POST, то использование команды View Source приведет к тому, что Chrome заглянет в свой кеш, не найдет ничего, запросит страницу с помощью GET, кеширует ее и покажет источник того, что.

Хороший вопрос – и несколько разочаровывающий, чтобы прочитать все эти «это неправильно» или «это не сработает». Это приводит к тому, что во многих случаях функция «Просмотр источника страницы» бесполезна для разработки.

Существует расширение под названием « Quick source viewer », которое, по-видимому, показывает источник загруженной страницы (я еще не тестировал его с помощью POST-запросов).

Мне жаль вам говорить, но это противоречит нынешнему характеру просмотра и отладки в браузере …

Исходный источник не хранится в памяти, но анализируется и преобразуется в дерево разбора как можно быстрее, чтобы предотвратить бесполезное использование памяти. Таким образом, любая отладочная информация, которую вы скрываете в источнике, теряется и должна быть явно запрошена. В так называемых сайтах Web 2.0 элементы также меняются, и именно по этой причине инспекция такая …

Решение 1: Fiddler Web Debugger позволяет вам проверять HTTP-трафик,
Это позволяет вам видеть отладочную информацию из вашего последнего запроса.

Решение 2. Вставьте свою отладочную информацию или добавьте ее в конце,
Или, может быть, показать его как всплывающее окно или другим удивительным способом, который не мешает вашей планировке.

  • Сохранение HTTP-запроса POST в закладке или что-то подобное, как с запросом GET
  • Поддерживайте разные настройки в Chrome, на разных ПК
  • Что такое хранилище в локальном хранилище, которое используется в Chrome?
  • Chrome не запускается в Windows 8, появляется сообщение об ошибке «Класс не зарегистрирован»,
  • Как установить старую версию Google Chrome
  • Chrome - изменение навигационных клавиш на странице в программе просмотра PDF
  • Заставить Chrome синхронизировать закладки?
  • Не удается загрузить Lucid Lynx
  • Запуск Java7 в Chrome для Mac OS X (требуется 64-битный?
  • Где я могу получить бинарные файлы Chromium?
  • Различать Chrome из Safari с помощью jQuery.browser
  • Давайте будем гением компьютера.