2014-09-11 122 views
0

我在SharePoint 2010应用程序中有这种奇怪的问题。我编辑了一个默认表单,我放了一个内容编辑器Web部件,并且向它添加了一些JavaScript代码。但是我无法获得ClientContext,因为SP.ClientContext的值未定义。sp.core.js未加载的原因是什么?

我检查了在那里的存储,但sp.core.js文件在头一节中提到:

<script type="text/javascript" src="/_layouts/sp.core.js?rev=7ByNlH%2BvcgRJg%2BRCctdC0w%3D%3D"></script> 

当我把一个“调试”停止功能和看到Chrome的开发的命名空间工具,我看到SP对象只有SOD和UI。

我错过了什么?为什么sp.core.js不使用它的函数更新SP对象?我是否需要添加一些激活ClientContext的函数?

回答

1

你必须等待脚本文件:

SP.SOD.executeOrDelayUntilScriptLoaded(loadContext, 'sp.js'); 
     function loadContext() { 
      var context = SP.ClientContext.get_current(); 
      var web = context.get_web(); 
     } 
+0

感谢:-)我需要更多地了解它。在我认为jquery的document.ready已经足够好之前。你能建议一些有关SharePoint网站生命周期的资源吗? – 2014-09-11 12:59:08

+0

有一篇关于SOD和脚本加载的好文章:http://www.ilovesharepoint.com/2010/08/sharepoint-scripts-on-demand-spsod.html – 2014-09-11 13:02:43

+0

再次感谢:-) – 2014-09-11 13:37:41