Время изменения html страницы

Получение даты последнего изменения html файла

как я могу определить дату последнего изменения HTML-файла, импортируемого в мое веб-приложение?

Файл html находится на другом сервере, и разные пользователи могут делать обновления, когда я получаю страницу, я хочу видеть, когда она была обновлена ​​в последний раз, чтобы я мог пометить дату обновления на моей домашней странице. я

В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в.

Чтобы выровнять элемент

по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов.

React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим.

Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -.

Toor — Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут.

Ответы 5

Используйте свойство document.lastModified Javascript.

quirksmode также имеет приятную функцию для форматирования даты: http://www.quirksmode.org/js/lastmod.html

Мне интересно, как на самом деле работает свойство JavaScript document.lastModified ? Я не знал, что JavaScript может видеть, когда вы в последний раз редактировали файл. Вы знаете, как это работает?

@Nathan Он использует заголовок Last-Modified .

Вы можете использовать Заголовок последнего изменения из заголовков ответов.

The Last-Modified entity-header field indicates the date and time at which the origin server believes the variant was last modified.

 Last-Modified = "Last-Modified" ":" HTTP-date 

Я предполагаю, что вы используете HTTP для получения страницы.

В этом случае вы можете использовать метод HTTP HEAD для получения данных заголовка файла. (См. http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html, 9.4)

Затем вы можете проверить заголовок ответа «Last-Modified». (См. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html, 14.29)

В случае использования какого-либо механизма кеширования (прокси, кеширование браузера) может потребоваться включить «Cache-Control: must-revalidate» в заголовок запроса. (См. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html, 14.9.4)

Есть несколько предлагаемых ключей метатегов, представляющих значения Dublin Core, которые можно использовать. См .: https://stackoverflow.com/a/14893974/895245

Ciro Santilli TRUMP BAN IS BAD

Другие вопросы по теме

Почему при синтаксическом анализе этой строки даты возникает исключение даты, не подлежащее синтаксическому анализу?

Похожие вопросы

Есть ли идиома, позволяющая элементу прокручиваться вместе со страницей только до тех пор, пока он не попадет в верхнюю часть браузера?

Находите ответы на сложные технические вопросы по программированию, с которыми сталкиваются инженеры по всему миру в своей ежедневной практике на сайте RedDeveloper.

Источник

Как определить дату обновления веб-страницы?

Часто просматривая веб-сайты, в частности связанные с программированием, полезно узнать когда страница была изменена в последний раз. Существуют ли плагины, к браузерам, которые это покажут?

savostin

Для этого сервер должен правильно отдавать Last modified, а сейчас мало кто об этом заботится (хоть все поисковики настоятельно рекомендуют), т.к. контент почти везде динамический. Посмотреть что отдал сервер в Firefox можно кликнув на иконке в адресной строке -> More information -> закладка General -> Modified.

savostin

Franchesko

savostin

Учитывая расхлябанность писателей и стремление править даты под свои задачи (имитация бурного развития блога, правки материала после замечаний), то самое правильное будет оценить даты комментариев (практически всегда фиксируется время). Иначе все, что посоветовали ранее с поправкой на бардак. 🙂

Есть простейший букмарклет. Сделайте из этого ссылку и перетащите на панель закладок.

Разумеется, работает только если сервер отдает правильную дату изменения. А если отдает неправильную, то все равно ничего не поможет.

Плагины специальные может и есть.
если нет, такого, то повод написать.
ff+firebug + хедеры посмотреть.

Верно, а многие сайты в HTTP поле «Modified» ничего не пишут, а то все свелось бы к просмотру заголовков через любой, даже онлайновый HTTP-viewer. Я думал, может есть такие плагины, что через Google API действуют, ведь выдает же Google результаты по определенному интервалу времени, если в настройках задать.

Как вариант, то в протоколе Sitemap есть тег , который показывает (если он регулярно обновляется) время последней модификации документа.

Вообще, у меня тоже была мысль, как ослеживать дату реальных изменений страницы:
1) загрузить страницу (и сохранить)
2) подождать какое-то время T
3) повторно загрузить
4) найти diff двух страниц
5) если размер diff’а не превышает какого-то числа байтов D
5.1) то удвоить время ожидания T; goto 2
5.2) иначе зафиксировать изменение.

Иногда diff действительно небольшой (например при баннерной крутилке или отображении текущего курса валют, погоды, либо, еще хуже — текущего времени).
В этом случае для данной страницы нужно увеличить D.

Источник

Динамическое обновление веб-страницы

image

Никого уже не удивишь концепцией динамического HTML, почти все сайты давно в той или иной мере используют javascript для того, чтобы сделать страницы интерактивными. А с появлением технологии AJAX стало возможным асинхронно генерировать запросы к серверу, чтобы изменять старые данные на сервере или получать новые. Но как именно обновлять структуру страницы? Кто должен генерировать новый html — сервер или javascript? А может, все вместе?

Посмотрим, как можно ответить на эти вопросы.

Для начала, я опишу жизненный цикл страницы. Сразу скажу, что я не собираюсь описывать этот процесс досконально, здесь требуется только понимание основной логики процесса.

Любое веб-приложение можно логически поделить на две составляющие — на клиентскую часть и серверную часть. К клиентской части относятся сам браузер и скрипты, которые он выполняет, к серверной — набор скриптов, которые генерируют ответ на любой запрос пользователя.

Жизнь любой страницы начинается с запроса от клиента к серверу. Ответом будет код страницы, содержащий, помимо структуры и стилей, логику клиентской части.

После получения страницы с сервера, браузер отображает её и запускает на выполнение приложенные к ней скрипты.
Клиентская часть реагирует на различные события — например, на клик по некоторому элементу, перемещение мыши или на истечение таймера. Для того, чтобы получить какие-то данные с сервера(или отправить что-то на него), используются дополнительные, обычно асинхронные, запросы.

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

Ближе к сути

Для удобства объяснения рассмотрим вариант обновления простой страницы с лентой новостей и, скажем, счетчиком подписчиков. Мы хотим, чтобы браузер регулярно проверял обновления ленты, добавляя новости по мере их появления. А еще мы хотим, чтобы каждый посетитель видел динамику роста популярности нашего сайта — пусть счетчик подписчиков тоже регулярно обновляется.

Тело нашей страницы может выглядеть, например, так:

Вариант 1 — дублирование

Основная идея — логику отображения знает и клиентская, и серверная часть. В таком случае, ответы на регулярные запросы со стороны клиента могут содержать исключительно данные — изменения в модели, и выглядеть, например, так:

При получении такого ответа клиентская часть «оборачивает» данные в html-теги, добавляет необходимые тексты и обновляет структуру страницы.

Серверу же знания об отображении нужны только для того, чтобы сгенерировать изначальную версию страницы.

  • Требуется продублировать код — он будет и в клиентской части, и в серверной;
  • Клиентская часть должна знать, как именно поступать с каждой порцией данных от сервера — иногда нужно заменить html элемента, иногда добавить новые данные к уже существующему коду;

Вариант 2 — всемогущий сервер и «толстые» ответы

Основная идея — логику отображения знает только сервер, клиентская часть получает уже готовый html-код элементов. Здесь ответ сервера выглядит так:

Замечу, что пересылается здесь весь html каждого компонента на странице. Реализуется же такой способ просто — сервер генерирует страницу по кускам, клиент при получении ответа заменяет тела отдельных элементов.

  • Многократная генерация одного и того же кода, особенно неэффективно при небольших изменениях;
  • Огромный объем трафика, особенно на больших страницах;

Вариант 2а — всемогущий сервер и «тонкие» ответы

Можно попытаться исправить главный недостаток предыдущего варианта. Сервер может не отправлять весь html компонента, а присылать только «дельту» — изменения, которые необходимо внести. Наш ответ тогда может стать таким:

Теперь клиент определяет элемент, который будет изменять, и то, как он его будет изменять, непосредственно из ответа сервера.

  • Все еще достаточно большой объем сетевого трафика;
  • Клиент должен отправить серверу текущее состояние каждой компоненты, закодированное некоторым образом, чтобы сервер понял, относительно чего считать дельту;
  • Сложность вычисления и записи дельты в случае нетривиальных изменений;
  • Общее усложнение и клиентской, и серверной части;

Вариант 3 — всемогущий javascript

Можно переложить всю ответственность за генерацию html на клиента. В таком случае сервер будет только предоставлять данные, необходимые для отображения. Ответы, как и в первом варианте, будут содержать только данные:

Так в чем же существенное отличие от первого варианта? А заключается оно в том, что сервер не выполняет первоначальную генерацию страницы, её сборка осуществляется уже браузером клиента. Вариант этот только выглядит странным, он может пригодиться, если необходимо уменьшить нагрузку на сервер.

  • Малый объем трафика — передаются только необходимые данные;
  • Уменьшение нагрузки на сервер;
  • Высокая нагрузка на компьютер пользователя;
  • Возможна избыточность — часть знаний клиентской части об отображении может так и остаться невостребованной, если какие-то события не наступят;

Заключение

Каждый из рассмотренных методов имеет право на жизнь, и может быть использован в проектах разной сложности. Лично я во встреченных мною проектах чаще всего видел первый вариант, несмотря на нарушение им моего любимого принципа DRY — Don`t repeat yourself.

А какие принципы вы используете при разработке динамических страниц?

Источник

Прагма директива refresh

Прагма директива refresh (от англ. «refresh» ‒ «обновить») устанавливает время редиректа и, при необходимости, URL-адрес страницы редиректа. Под временем редиректа подразумевается время по истечении которого произойдёт переадресация страницы. Под URL-адресом страницы редиректа подразумевается адрес страницы на которую произойдёт переадресация текущей страницы.

Примечание

Если страница редиректа не указана, то происходит автоматическое обновление текущей страницы через указанный промежуток времени. Такая особенность важна для ресурсов с быстро изменяющейся информацией (например, новостные ресурсы, ресурсы прогноза погоды, ресурсы курсов валют и прочие).

Поддержка браузерами

Спецификация

Верс. Раздел
HTML
2.0 Associated Meta-information: META Перевод
3.2 META
4.01 The META element
http-equiv = name [CI].
DTD: Transitional Strict Frameset
5.0 4.2.5.3 Pragma directives
http-equiv=»refresh».
5.1 4.2.5.3. Pragma directives
http-equiv=»refresh».
XHTML
1.0 Extensible HyperText Markup Language
DTD: Transitional Strict Frameset
1.1 Extensible HyperText Markup Language

Значения атрибута «content»

Атрибут « content » должен иметь значение, являющееся строкой из регистронезависимых ASCII символов, которая состоит из следующих составляющих:

<число>Указывает количество секунд до редиректа страницы. В качестве значения количества секунд указывается целое положительное число. Отсчёт времени до редиректа начинается с момента полной загрузки страницы.

Отделяет числовое значение от URL-адреса редиректа. В качестве разделителя указывается символ « ; » ТОЧКА С ЗАПЯТОЙ [U+003B] либо символ « , » ЗАПЯТАЯ [U+002C].

, URL=example.html"> ; URL=example.html">

<пробелы>ПРОБЕЛЫ [U+0020] отделяют символы друг от друга для лучшего визуального восприятия. Кавычки, окружающие URL-адрес страницы редиректа, для лучшего визуального восприятия. В качестве кавычки может указываться символ « ‘ » АПОСТРОФ [U+0027] или символ « » » ДВОЙНАЯ КАВЫЧКА [U+0022].

Условие использования: кавычки, окружающие URL-адрес страницы, не должны совпадать с кавычками, обозначающими значение « content » атрибута.

Примечание: URL-адреса некоторых ресурсов указываются с учётом регистра символов.

Условие использования: при указании URL-адреса, обязательно указывается « ».

Регистр символов: не учитывается.

Источник

Читайте также:  Html positioning bottom right
Оцените статью