Ci sono diverse tecniche utilizzate per fornito il nostro codice JavaScript personalizzato caricato prima/nel mezzo/dopo eventi OnLoad in SharePoint:
ExecuteOrDelayUntilBodyLoaded.
Sys.Application.pageLoad.
document.ready Jquery.
_spBodyOnLoadFunctionNames.
_spBodyOnLoadFunction.
ExecuteOrDelayUntilScriptLoaded:sp.core.js.
SP.SOD.executeFunc: sp.js.
Sys.WebForms.PageRequestManager.PageLoaded
- funzione ExecuteOrDelayUntilBodyLoaded viene sempre eseguita la prima (ma a questo fase non possiamo accedere ai metodi SP). Questo potrebbe essere utile per eseguire il nostro codice personalizzato nella fase molto iniziale del processo OnLoad.
- Esistono due funzioni di onLoad di SharePoint _spBodyOnLoadFunctionNames e _spBodyOnLoadFunction. Sempre eseguito nell'ordine. Quindi, se vogliamo eseguire del codice dopo tutte le funzioni incluse da noi (o altri sviluppatori) in _spBodyOnLoadFunctionNames, è utile usare questa _spBodyOnLoadFunction, perché viene eseguita l'ultima.
- ExecuteOrDelayUntilScriptLoaded: sp.core.js e SP.SOD.executeFunc: sp.js. stanno scambiando l'ordine di esecuzione in modo casuale.
- Se si desidera eseguire alcune funzioni dopo tutte le funzioni (SP, dopo le funzioni di caricamento, Yammer, ecc.), È possibile utilizzare questa funzione per collegare l'evento OnLoad -> Sys.WebForms.PageRequestManager.PageLoaded.
si può vedere l'intero articolo che spiega ogni tipo, pro e contro qui: https://blog.josequinto.com/2015/06/16/custom-javascript-function-loaded-after-the-ui-has-loaded-in-sharepoint-2013/
saluti!
fonte
2015-06-16 14:07:21
Si sta utilizzando jQuery per attivare le richieste ajax o si tratta di un caso speciale di SharePoint? – Bloafer
Devo integrare la libreria commerciale di terze parti, che si aspetta che nel momento in cui viene caricato, sia presente tutto l'html. All'inizio non farò richieste di ajax. Inoltre devo allegare listener di eventi su alcuni link, ecc. –
Ma cosa stai usando per attivare le richieste Ajax? – Bloafer