这是我在我的项目中所做的:
<asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
<script type="text/javascript">
alert("before");
//It can not work cause the LIST is in the subsite called "Service"
//var clientContext = SP.ClientContext.get_current();
var context =new SP.ClientContext("http://sp2010dev1:88/Service/");
alert(context );
</script>
</asp:Content>
但是,alert(context) 无法执行,当我检查控制台时,它显示了 TypeError: SP.ClientContext is not a constructor
,也就是说初始化有问题的客户端上下文。为什么?我怎样才能得到ClientContext?还是没有SP.js导致的?
我的最终解决方案是:将此语句添加到母版页:,然后一切正常!希望这可以帮助你。
最佳答案
而不是直接写在<script>
中 block 尝试插入 function
并在 body 负荷上调用该函数。
另一个好方法是使用 jquery 调用
$(document).ready()(function(){
var context =new SP.ClientContext("http://sp2010dev1:88/Service/");
alert(context );
});
尝试一次,即使它不工作也会尝试找到另一个解决方案。
除此之外,根据史蒂夫的建议,首先包括 sp.js
并执行剩下的事情。
关于javascript - 为什么我在 JavaScript 中无法通过 OM 获取 ClientContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714983/