在我的页面标题中,我有:
<script>
function insureSPServices(callbackFunction)
{
if($().SPServices == null)
{
jQuery.getScript("./scripts/jquery.SPServices-2014.01.js", callbackFunction);
} else {
callbackFunction.call(null, "Already Loaded");
}
}
function populate()
{
alert("SPServices loaded? " + (jQuery.SPServices == undefined ? "NO!!!" : "YES."));
}
</script>
<script type="text/javascript" language="javascript">
$(document).ready(function()
{
alert("jQuery");
alert("!" + $().SPServices.SPGetCurrentSite() + "!");
alert("jQuery loaded? " + (jQuery == undefined ? "NO!!!" : "YES."));
alert("SPServices loaded? " + (jQuery.SPServices == undefined ? "NO!!!" : "YES."
));
insureSPServices(populate());
});
</script>
我得到: jQuery 是 SP服务不!!! SPServices 不!!!
注释: 两个脚本路径都是合法的。
SPServices 脚本是从以下位置下载的: http://spservices.codeplex.com/downloads/get/786994
检查/初始化逻辑来自这里: http://devspoint.wordpress.com/2011/01/07/quick-way-to-load-spservices/
感谢所有帮助。
最佳答案
可能存在几个问题:
- 路径可能无法正确解析(有时相对 URL 在 SharePoint 上下文中似乎无法正常工作)
- 当在 Javascript 中使用 jQuery 时,例如SharePoint Web 部件在使用 SP 服务之前尝试使用 jQuery.noConflict()。在大多数情况下,我在使用 $ 或 jQuery 时遇到问题,因为 SharePoint 中已经加载了 JQuery。
- 在 SharePoint 中使用 javascript $(document).ready 可能会导致问题,因为这实际上并不意味着所有内容均已加载。您可以尝试改用_spBodyOnLoadFunctionNames.push("myfunction")。
关于jquery - SPServices 将无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23636019/