簡體   English   中英

SharePoint Web 部件自動刷新 javascript 事件?

[英]SharePoint web part automatic refresh javascript event?

背景:我正在使用 JSLink 修改 SharePoint 列表 Web 部件。 我還添加了 jQuery 和 jQuery-UI 以使列表項顯示為 jQuery Accordion。 效果很好,除了我還需要在web part上實現ajax自動刷新,每60秒刷新一次內容。

問題:當 Web 部件刷新時,jquery 代碼恢復 - 項目不再以手風琴模式顯示。 我可以打開瀏覽器控制台並手動輸入 jquery 代碼,例如$(".selector").accordion(); 它工作正常。 這讓我覺得我需要找到一種方法來每個 web part 自動刷新完成調用 jquery 代碼。

問題:那么,是否有一個 javascript 事件或方法可以找出何時在我的 webpart 上觸發自動刷新,以便我可以在之后再次調用我的 jquery 手風琴? 還有什么我可能會錯過的嗎?

謝謝你的時間!

答案是使用此代碼:

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

function 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

我相信您可以通過覆蓋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

};

當我在具有 25 秒刷新的列表視圖的頁面上的 F12 控制台中運行上述代碼時,我開始看到“刷新數據...”每隔 25 秒彈出一次,但我沒有用比這更復雜的東西來測試它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM