Istnieją różne techniki wykorzystywane do pod warunkiem nasz zwyczaj kod JavaScript załadowane przed/w środku/po zdarzeń onload w SharePoint:
ExecuteOrDelayUntilBodyLoaded.
Sys.Application.pageLoad.
document.ready Jquery.
_spBodyOnLoadFunctionNames.
_spBodyOnLoadFunction.
ExecuteOrDelayUntilScriptLoaded:sp.core.js.
SP.SOD.executeFunc: sp.js.
Sys.WebForms.PageRequestManager.PageLoaded
- funkcja ExecuteOrDelayUntilBodyLoaded jest zawsze wykonywane pierwszy (ale na to etap nie możemy uzyskać dostępu do metod SP). Może to być przydatne do wykonania naszego niestandardowego kodu na wcześniejszym etapie procesu OnLoad.
- Istnieją dwie funkcje onLoad programu SharePoint _spBodyOnLoadFunctionNames i _spBodyOnLoadFunction. Zawsze wykonywane w zamówieniu. SO, jeśli chcemy wykonać kod po wszystkich funkcjach zawartych przez nas (lub innych programistów) w _spBodyOnLoadFunctionNames, wtedy jest użyteczne użycie tej funkcji _spBodyOnLoadFunction, ponieważ jest ona wykonywana jako ostatnia.
- ExecuteOrDelayUntilScriptLoaded: sp.core.js i SP.SOD.executeFunc: sp.js. zamieniają kolejność wykonywania w losowy sposób.
- Jeśli chcemy wykonać niektóre funkcje po wszystkich funkcjach (SP, po funkcjach ładowania, Yammer, itp.) Możemy użyć tej funkcji do dołączenia zdarzenia OnLoad -> Sys.WebForms.PageRequestManager.PageLoaded.
można zobaczyć cały artykuł wyjaśniający każdego typu wady i zalety tutaj: https://blog.josequinto.com/2015/06/16/custom-javascript-function-loaded-after-the-ui-has-loaded-in-sharepoint-2013/
Pozdrawiam!
Czy używasz jQuery do wywoływania żądań ajaxowych, czy jest to jakiś specjalny przypadek programu SharePoint? – Bloafer
Muszę zintegrować bibliotekę komercyjną firm trzecich, która oczekuje, że w momencie jej załadowania cały html jest obecny. Nie będę robić żadnych żądań ajaxowych na początku. Muszę też dołączyć detektory zdarzeń na niektórych linkach itp. –
Ale czego używasz do odpalania żądań Ajax? – Bloafer