Как использовать и отображать RSS-канал с помощью jQuery - PullRequest
0 голосов
/ 19 октября 2011

Я хочу использовать jQuery для использования RSS-канала, а затем создать HTML-контент, который определит элементы в RSS-канале. Это достаточно просто для меня. Однако я также хочу, чтобы моя страница автоматически обновлялась в случае изменения источника, предоставляющего канал RSS.

Например, предположим, что начальная загрузка страницы использует канал RSS и содержит два элемента: {Джордж Вашингтон и Джон Адамс}

Затем на странице создаются два HTML-элемента (теги привязки, элементы div и т. Д.), Которые отображают «Джордж Вашингтон» и «Джон Адамс».

Тридцать секунд спустя источник, который предоставляет RSS-канал, теперь содержит три элемента: {Джордж Вашингтон, Джон Адамс и Томас Джефферсон}. Как мне настроить страницу так, чтобы она знала, что RSS-канал изменился, и что ему необходимо обновить / воссоздать элементы HTML, чтобы отразить это изменение?

Наиболее очевидный ответ - использовать window.setInterval, чтобы страница проверяла RSS-канал с заданными интервалами, чтобы увидеть, изменился ли он. Но я чувствую, что здесь что-то упущено, и что есть лучший способ сделать это.

Любые идеи будут с благодарностью. Мое невежество поражает, когда дело доходит до мира RSS / Atom, поэтому не думайте, что я это уже знаю (потому что, скорее всего, нет!), И помогите мне!

1 Ответ

0 голосов
/ 19 октября 2011

Если вы не можете каким-то образом получить обратный вызов при обновлении канала, который должен будет предоставить владелец канала и который потребует серверного решения, такого как Node.js, для передачи обратного вызова клиенту, setInterval путь - единственный путь.

Что вы можете сделать, чтобы не загружать весь фид при каждой проверке, вы можете сначала выполнить запрос HEAD и проверить, отличается ли Content-Length от последнего запроса,Имейте в виду, что это предполагает несколько вещей, например, что будет возвращено Content-Length и что оно всегда будет увеличиваться (если фид возвращает только что-то вроде последних 10 элементов, то теоретически, хотя маловероятно, что вы могли бы получить то же самое Content-Lengthдаже если была новая статья).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...