executeOrDelayUntilScriptLoaded和<Script> html的交互

问题描述

我要附加到SP2013 NewForm上的脚本如下

<script src="https://.../lib/JQuery/jquery-1.10.2.min.js"></script>
<script src="https://.../Configuration/SiteAssets/jquery.SPServices-2014.02.min.js"></script>
<script>
   function NullFn() {console.log('Fn Load')}
   function NullFn1() {console.log('Fn1 Load')}
   function NullFn2() {console.log('Fn2 Load')}
   function NullFn3() {console.log('Fn3 Load');}
   
   SP.soD.executeOrDelayUntilScriptLoaded(NullFn,'sp.js');
   SP.soD.executeOrDelayUntilScriptLoaded(NullFn1,'jquery.SPServices-2014.02.min.js');      
   SP.soD.executeFunc('sp.js','SP.ClientContext',NullFn2);
   SP.soD.executeOrDelayUntilScriptLoaded(NullFn3,'SP.UserProfiles.js');   
</script>

在控制台LOG中,我正在跟踪 Fn负载和Fn2负载

Fn1和Fn3似乎处于等待模式,即使SPServices显示已在“网络”选项卡中加载(200,确定)。

什么阻止了Fn1的执行?

解决方法

发现了问题,有一个幕后脚本根据onpageload类型事件重新加载jQuery,这导致SPServices中断。