Ric*_*lva 3 javascript sharepoint sharepoint-2013 visual-studio-2013
我正在参加这个会议研讨会http://video.ch9.ms/sessions/spc/2014/SPC261.mp4,他们在那里教他们如何做一个共享点APP
在某些时候我有这个脚本
$(document).ready(function () {
//get context and then username
context = new SP.ClientContext.get_Current();
web = context.get_web();
//get the tasks for the user
getTaskCountForUser();
});
Run Code Online (Sandbox Code Playgroud)
它将简单计算任务列表中剩余的任务数.
我在app部分aspx文件中包含了下一个脚本
<%--<script type="text/javascript" src="../Scripts/jquery-1.9.1.min.js"></script>--%>
<script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script>
<script src="/_layouts/15/sp.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="//ajax.aspnetcdn.com/ajax/4.0/1/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.runtime.debug.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.debug.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.9.0/jquery-ui.min.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/knockout/knockout-2.1.0.js" type="text/javascript"></script>
<script src="../Scripts/QuickTask.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
一切似乎都很好.应用部分在sahrepoint显示在线,我可以将其包含在家里,但脚本只是鸵鸟政策工作,并抛出遗漏的类型错误:对未定义不是一个函数的线
context = new SP.ClientContext.get_Current();
Run Code Online (Sandbox Code Playgroud)
我试着把这样的代码包围起来
ExecuteOrDelayUntilScriptLoaded(function () {
//my code above in here
}, "sp.js");
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,第一行会抛出相同的错误.
什么可以错过?我在我的msdn订阅,Vsual Studio 2013和视频中使用了Sharepoint E3在线帐户.
谢谢
小智 11
您的代码中有一些拼写错误,调试js文件的链接(不是这不正确,但为什么需要它们?)和获取ClientContext对象时出错.
要修复脚本包含问题,请使用以下脚本标记而不是您的脚本:
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.1.min.js" ></script>
<script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js" ></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.9.0/jquery-ui.min.js" ></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/knockout/knockout-2.1.0.js" ></script>
Run Code Online (Sandbox Code Playgroud)
但主要问题在于这一行:
context = new SP.ClientContext.get_Current();
Run Code Online (Sandbox Code Playgroud)
new在这种情况下,您不需要使用关键字,而是使用getter获取上下文对象.它应该是:
context = SP.ClientContext.get_current();
Run Code Online (Sandbox Code Playgroud)
还要注意get_current()函数的情况- current单词应该从小写字符开始.
| 归档时间: |
|
| 查看次数: |
19415 次 |
| 最近记录: |