Mar*_*arc 5 javascript sharepoint sharepoint-2010
我有一个自定义的JS脚本,我加载到SharePoint中,并且在SP完成自己的初始化之后有问题要让我的init方法执行.
_spBodyOnLoadFunctionNames
我首先尝试了"官方"方式,并在加载后将我的函数名称添加到已执行函数列表中,_spBodyOnLoadFunctionNames.push("myInitMethod");但是不会在每次加载页面时触发,我不能依赖它.
ExecuteOrDelayUntilScriptLoaded
然后我尝试使用ExecuteOrDelayUntilScriptLoaded(myInitMethod, "sp.js");函数,但它不会在每个页面加载时触发.
两种方式都有效 - 但不是每次都有效.我假设在初始化SP 之前有时会加载我的脚本.这主要发生在Chrome上,但也发生在IE上.
如何在SP准备好后确保我的脚本执行?
注意:加载页面并且SP对象未完全初始化时会有一个有趣的行为(ExecuteOrDelayUntilScriptLoaded中的已注册函数尚未被调用):只要我点击页面中的"向上导航"锚点(你在哪里)可以看到subites的hiarchy)以下文件被加载并且我的init函数(在ExecuteOrDelayUntilScriptLoaded中注册)被调用!
所以在点击之后一切都很好 - 但为什么不在页面加载上呢?
| 归档时间: |
|
| 查看次数: |
19157 次 |
| 最近记录: |