Событие javascript автоматического обновления веб-части SharePoint?

Справочная информация: я изменяю веб-часть списка SharePoint с помощью JSLink. Я также добавляю jQuery и jQuery-UI, чтобы элементы списка отображались как jQuery Accordion. Это работает хорошо, за исключением того, что мне также нужно реализовать автоматическое обновление ajax в веб-части, чтобы обновлять содержимое каждые 60 секунд.

Проблема: при обновлении веб-части код jquery возвращается - элементы больше не отображаются в режиме аккордеона. Я могу открыть консоль браузера и ввести код jquery вручную, например, $(".selector").accordion(); и работает нормально. Это заставляет меня думать, что мне нужно найти способ вызывать код jquery после завершения автоматического обновления каждой веб-части.

Вопрос: Итак, есть ли событие javascript или способ узнать, когда на моей веб-части запускается автоматическое обновление, чтобы я мог снова вызвать мой jquery аккордеон? Есть ли что-то еще, что я мог упустить?

Спасибо за ваше время!

2 ответа

Решение

Ответ должен был использовать этот код:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(MyFunction); 

MyFunction() { 
    //do something here; 
}

Кредит @Thriggle

Ссылки: https://msdn.microsoft.com/en-us/library/bb311028.aspx https://www.daniweb.com/programming/web-development/threads/247263/ajax-postback-after-endrequest

Я считаю, что вы можете вставить свой собственный код или вызовы функций в цепочку обратных вызовов, переопределив _onFormSubmit метод текущего экземпляра Sys.WebForms.PageRequestManager объект.

Sys.WebForms.PageRequestManager.getInstance()._onFormSubmit = function(i){

    Sys.WebForms.PageRequestManager.prototype._onFormSubmit.call(this,i);

    alert("Refreshing the data..."); // -- your code or function call here

};

Когда я запустил приведенный выше код в консоли F12 на странице с представлением в виде списка с 25-секундным обновлением, я начал видеть всплывающее окно "Обновление данных..." каждые 25 секунд, но я не проверил что-нибудь более сложное, чем это.

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