使用客户端对象模型API和一些javascript,我想检索共享点列表的项目并将其显示在网页中,加载网页时。
我已经成功实现了使用按钮或链接点击事件处理程序的示例。但是当我尝试使用onload
代码时,我收到错误。
假设我在头部定义了ViewItem()
函数。
如果我在体内使用此代码:
<a onclick="javascript:ViewItem()">View</a>
一切都很好。
如果我尝试使用经典onlaod
,则调用失败:
<script type="text/javascript">
window.onload = ViewItem ;
</script>
产生错误的ViewItem
函数中的代码行如下:
var myContext = new SP.ClientContext.get_current();
此代码可以在onclick事件处理程序中正常运行,但在onload事件处理程序失败时失败:
SP.ClientContext为null或不是对象
我该如何解决这个问题?为什么只有在使用onload
调用函数时才会发生?
答案 0 :(得分:2)
您必须等待所有SharePoint脚本准备就绪:
ExecuteOrDelayUntilScriptLoaded(ViewItem, "sp.js");
如果你也使用jQuery,我会这样做:
$(function(){
ExecuteOrDelayUntilScriptLoaded(ViewItem, "sp.js");
});