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

    在sharepoint中有许多预定义的javaScript文件,在这些js文件中时不时的遇到脚本错误。要修复这些脚本错误说简单也简单(直接更改14/12目录下方的文件即可),但是重装或者更新之后呢?问题随之又来了。

在此我们需要重新对这些方法或者变量做一个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");

原文地址:https://www.cnblogs.com/netwenchao/p/2446054.html