Существуют различные методы, используемые для при условии, наш пользовательский код JavaScript загружен перед/в середине/после событий OnLoad в SharePoint:
ExecuteOrDelayUntilBodyLoaded.
Sys.Application.pageLoad.
document.ready Jquery.
_spBodyOnLoadFunctionNames.
_spBodyOnLoadFunction.
ExecuteOrDelayUntilScriptLoaded:sp.core.js.
SP.SOD.executeFunc: sp.js.
Sys.WebForms.PageRequestManager.PageLoaded
- ExecuteOrDelayUntilBodyLoaded функция всегда выполняется первый (но при этом мы не можем получить доступ к методам SP). Это может быть полезно для выполнения нашего пользовательского кода на самом раннем этапе процесса OnLoad.
- Есть две функции SharePoint onLoad _spBodyOnLoadFunctionNames и _spBodyOnLoadFunction. Всегда выполняется в порядке. Итак, если мы хотим выполнить некоторый код после всех функций, включенных нами (или другими разработчиками) в _spBodyOnLoadFunctionNames, тогда полезно использовать эту _spBodyOnLoadFunction, потому что выполняется последняя.
- ExecuteOrDelayUntilScriptLoaded: sp.core.js и SP.SOD.executeFunc: sp.js. заменяют порядок выполнения случайным образом.
- Если мы хотим выполнить некоторые функции после всех функций (SP, после функций загрузки, Yammer и т. Д.), Мы можем использовать эту функцию для присоединения события OnLoad -> Sys.WebForms.PageRequestManager.PageLoaded.
Вы можете увидеть всю статью объяснения каждого типа, плюсы и минусы здесь: https://blog.josequinto.com/2015/06/16/custom-javascript-function-loaded-after-the-ui-has-loaded-in-sharepoint-2013/
Привет!
Вы используете jQuery для запуска своих аякс-запросов или это особый случай SharePoint? – Bloafer
Я должен интегрировать стороннюю коммерческую библиотеку, которая ожидает, что в момент ее загрузки все html присутствует. Я не буду делать какие-либо аякс-запросы при запуске. Также я должен приложить прослушиватели событий к некоторым ссылкам и т. Д. –
Но что вы используете для запуска запросов Ajax? – Bloafer