使用客户端对象模型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
调用函数时才会发生? 最佳答案
您必须等待所有SharePoint脚本准备就绪:
ExecuteOrDelayUntilScriptLoaded(ViewItem, "sp.js");
如果您还使用jQuery,则可以使用:
$(function(){
ExecuteOrDelayUntilScriptLoaded(ViewItem, "sp.js");
});