Как сделать веб-страницу всегда актуальной с использованием Javascript? - PullRequest
0 голосов
/ 04 июля 2018

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

Я подумал, что проще всего было с таймером, который делает вызов каждые X секунд, но я ищу лучший подход, который использует меньше ресурсов. Я читал о Webhooks, но я не могу найти способ реализовать это и получить то, что я хочу.

Любые предложения будут действительно полезны. Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 04 июля 2018

Я думаю, что вы спрашиваете, как постоянно получать обратную связь от источника. Я не совсем уверен, как работает ваш API, но если элемент новостей, который вы ищете, выглядит просто, как <iframe>, можно проверить, есть ли обновление с использованием Javascript, например:

var mynewsfeed = ""; //Declares newsfeed variable
setInterval(function(){
     if (API.update != nul) { //Should lighten the load on the processor
         mynewsfeed = API.update() //Updates newsfeed
         document.getElementById("newsfeediframe").src=mynewfeed;
     }
}, 10000); //Will check every 10 seconds (can be shorter)

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

Еще одна вещь, которую вы можете попробовать (если API поддерживает это), просто сделать что-то вроде

if (API.checkForUpdate()) {
    //Do something
}
0 голосов
/ 04 июля 2018

Сделайте вызов ajax в желаемый интервал времени. Вот ваш возможный ответ - Позвоните jQuery Ajax Запрос каждые X минут

0 голосов
/ 04 июля 2018

Зависит от вашей бэкэнд-технологии. Если вы являетесь разработчиком .NET, то самой известной библиотекой real-time web functionality будет SignalR .

Существует множество других библиотек, таких как socket.io или таких API, как pusher .

Их не очень сложно реализовать, но, поскольку они в любом случае добавят вашему приложению еще один уровень сложности, вам, возможно, придется подумать о том, что передавать между методами издателя / подписчика.

По моему опыту, мы использовали для предоставления подписчикам весь объект при изменении свойства, но позже мы решили просто уведомить всех подписчиков об изменении и предоставить им самим решать, хотят ли они обновить их новыми данные.

...