W nagłówku mojej strony mam:
<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>
Dostaję: JQuery TAK SPUsługi NIE !!! SPUsługi NIE !!!
Uwagi: Dwie ścieżki skryptu są uzasadnione.
Skrypt SPServices został pobrany z: http://spservices.codeplex.com/downloads/get/786994
Logika check / init jest stąd: http://devspoint.wordpress.com/2011/01/07/quick-way-to-load-spservices/
Cała pomoc doceniona.
Odpowiedzi:
3 dla odpowiedzi № 1Może być kilka problemów:
- Ścieżka może nie zostać poprawnie rozwiązana (czasami względne adresy URL wydają się po prostu nie działać poprawnie w kontekście SharePoint)
- Podczas korzystania z jQuery w Javascript w ramach np. strona internetowa SharePoint spróbuj użyć jQuery.noConflict () przed użyciem usług SP. W większości przypadków miałem problemy z użyciem $ lub jQuery z powodu załadowanego już JQuery w SharePoint.
- Podczas korzystania z javascript w SharePoint $ (dokument).Gotowy może powodować problemy, ponieważ nie oznacza to, że cała zawartość jest ładowana. Zamiast tego możesz spróbować użyć _spBodyOnLoadFunctionNames.push („myfunction”).
2 dla odpowiedzi nr 2
Utknąłem też z tym problemem przez kilka godzin. Dla mnie odpowiedzią było użycie jQuery.noConflict () w deklaracji jQuery. Lubię to:
<script src="../../myLib/jquery-1.11.3.min.js" type="text/javascript">
jQuery.noConflict();
</script>
-1 dla odpowiedzi nr 3
Podczas korzystania z jQuery w SharePoint Web Part spróbuj użyć jQuery.noConflict (). W wielu przypadkach występują problemy z użyciem $
lub jQuery
z powodu załadowanego jQuery w SharePoint.