In SharePoint 2013 la funzione ExecuteOrDelayUntilScriptLoaded non viene eseguita sulle pagine di publishing in quanto è stata rinominata in SP.SOD.executeFunc.

Per la precisione, questo codice funziona correttamente sulle pagine normali ma non in quelle di publishing:
JavaScript
ExecuteOrDelayUntilScriptLoaded(function(){
  alert('ok');
}, "sp.js"); 

Per le pagine di publishing bisogna usare la nuova funzione SP.SOD.executeFunc:
JavaScript
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function(){
  alert('ok');
}); 

Vedi anche SP.ClientContext object (sp.js)
Potrebbe interessarti anche: