JQuery-pjax vs. history.js для загрузки определенного содержимого при нажатии

Мне нужно ajaxify мой сайт, например, загрузку счетчика или что-то для рендеринга определенного контента на странице при нажатии ссылки.

Я нашел 2 хороших плагина jQuery.

В чем их основное отличие? Кажется, они выполняют ту же работу. Ну, возможно, один использует ajax, а затем возвращает html (pjax), и в нем используется так называемое html5 push-состояние или что-то в этом роде.

Есть ли другой способ сделать это? (проще или только с jQuery) Я думаю, что слишком слишком сложно использовать любой из этих плагинов (но я не уверен, есть ли более простой способ сделать это).

Ответ 1

автор History.js здесь.

  • History.js чрезвычайно низкоуровневый и просто фокусируется на предоставлении кросс-браузерного интерфейса для API истории HTML5
  • PJAX является высокоуровневым и использует API истории HTML5, чтобы предоставить интерфейс для обновления вашего сайта с помощью AJAX с использованием двух технологий.

Итак, вы можете заставить PJAX использовать History.js, чтобы он поддерживал кросс-браузеры. На самом деле есть запрос об этом здесь.

Хотя это не значит, что History.js оставляет вас по своему усмотрению либо в отношении AJAX, но и предоставляет вам образец высокого уровня для использования History.js с AJAX здесь, и вы можете найти более подробную информацию о том, как это было создано здесь. По сути, суть и PJAX делают то же самое, но они обошли их по-разному.

Что касается более простого, то History.js - это самая кратчайшая простая в использовании базовая кратчайшая из простых вещей, которая гарантирует, что API истории HTML5 будет работать во всех браузерах, - что он нацелен, чтобы быть как можно более низким и компактным так что другие вещи могут расширить его так, как они хотят - например, PJAX или этот Gist.