使用SP.SOD.executeOrDelayUntilScriptLoaded方法更改Sharepoint预定义JavaScript函数

在此我们需要重新对这些方法或者变量做一个Hook(在脚本执行前,使用js重写出错的那部分逻辑),然后修正其执行我们定义的脚本即可。在本文中,笔者遇到这样的错误。sp.ui.rte中一个方法(RTE.Range.ParentElement中 moveToElementText)报错 。而这个方法在页面加载完成后就被调用,使得在Document的onLoad事件中无法对这个函数做Hook。我们需要在这个脚本加载之后就执行我们定义的脚本,通过查找SDK找到如下方法适合做这样的事情。

方法:

SP.SOD.executeOrDelayUntilScriptLoaded(func, depScriptFileName)

参数:

func:需要执行的函数(脚本用函数封装起来)。

depScriptFileName:等待的脚本文件。

如下:

在 jquery.1.3.2.min.js加载完成后执行function中的脚本

SP.SOD.executeOrDelayUntilScriptLoaded(function(){

//to do something

},"jquery.1.3.2.min.js");