SharePoint web部件自动刷新javascript事件

SharePoint web part automatic refresh javascript event?

本文关键字:刷新 javascript 事件 web SharePoint      更新时间:2023-09-26

Background:我正在使用JSLink修改SharePoint列表web部件。我还添加了jQuery和jQuery- ui,使列表项显示为jQuery手风琴。它工作得很好,除了我还需要在web部件上实现ajax自动刷新以每60秒刷新一次内容。

问题:当web部件刷新时,jquery代码恢复-项目不再以手风琴模式显示。我可以打开浏览器控制台并手动输入jquery代码,例如,$(".selector").accordion();,它工作得很好。这让我认为我需要找到一种方法来调用jquery代码每个web部件自动刷新完成。

问题:那么,是否有一个javascript事件或方法来找出何时自动刷新触发我的web部件,以便我可以再次调用我的jquery手风琴后?我还遗漏了什么吗?

谢谢你的时间!

答案是使用以下代码:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(MyFunction); 
function MyFunction() { 
    //do something here; 
}

感谢@Thriggle

引用:https://msdn.microsoft.com/en-us/library/bb311028.aspxhttps://www.daniweb.com/programming/web-development/threads/247263/ajax-postback-after-endrequest

我相信你可以通过覆盖Sys.WebForms.PageRequestManager对象的当前实例的_onFormSubmit方法来插入你自己的代码或函数调用到回调链中。

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秒弹出一次,但我还没有测试过比这更复杂的东西。