簡體   English   中英

SPServices將不會加載

[英]SPServices will not load

在頁面的標題中,我有:

<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是SPServices否! SPServices沒有!!!

注意:這兩個腳本路徑是合法的。

可從以下網站下載SPServices腳本: http : //spservices.codeplex.com/downloads/get/786994

檢查/初始化邏輯來自此處: http : //devspoint.wordpress.com/2011/01/07/quick-way-to-load-spservices/

所有幫助表示贊賞。

可能有幾個問題:

  1. 路徑可能無法正確解析(有時相對URL似乎在SharePoint上下文中無法正常工作)
  2. 在SharePoint Webpart之內的Javascript中使用jQuery時,請在使用SP服務之前嘗試使用jQuery.noConflict()。 在大多數情況下,由於在SharePoint中已經加載了JQuery,因此在使用$或jQuery時會遇到問題。
  3. 在SharePoint $(document).ready中使用javascript時,可能會引起問題,因為這實際上並不意味着所有內容都已加載。 您可以嘗試使用_spBodyOnLoadFunctionNames.push(“ myfunction”)。

我也堅持了幾個小時。 對我來說,答案是在jQuery聲明中使用jQuery.noConflict()。 像這樣:

<script src="../../myLib/jquery-1.11.3.min.js" type="text/javascript">
jQuery.noConflict();
</script>

在SharePoint Web部件中使用jQuery時,請嘗試使用jQuery.noConflict() 在許多情況下,由於SharePoint中已經加載了jQuery,因此使用$jQuery出現問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM