jQuery nie jest technologią, która nie występowała wcześniej. Jest to tak naprawdę biblioteka języka JavaScript ułatwiająca korzystanie z niego. Wszystkie funkcjonalności stworzone za pomocą jQuery można by było wykonać bez jej użycia lecz niestety zajęły by dużo więcej czasu - koszt napisania wielu linii kodu. Druga korzyścią stosowania jQuery jest to, że pisany kod staje się czytelniejszy. Oczywiście kosztem posłużenia się jQuery jest większe obciążenie procesora stacji klienckiej niż ma to miejsce w przypadku zwykłego JavaScript.
W temacie integracji z SharePoint według mnie najładniejszym rozwiązaniem jest napisanie funkcji która instaluje format delegowania - tzw. symbol zastępczy. Nie będę się rozwodził o formatach delegowania gdyż jest to temat na oddzielny post - napisze go wkrótce.
Chciałem pisać swoje rozwiązanie które integruje jQuery z SharePoint ale jak się okazało spóźniłem się. Na CodePlex znajduje się już taka funkcja. Jest do pobrania bezpłatnie pod adresem
link - jak łatwo się domyślić funkcja o nazwie SmartTools.jQuerySetup v1.2.zip. Instalowana na poziomie zbioru witryn działa na takiej zasadzie, że w obszar o indentyfiaktorze - AdditionalPageHead wrzucana jest kontrolka która zawiera referencje do bibliotek jQuery.
Zródło tej kontrolki wygląda następująco:
<%@ Control Language="VB" ClassName="SmarToolsjQuery" %>
<script type="text/javascript" src="/_layouts/SmartTools.jQuery/jquery-1.3.min.js"></script>
Przy okazji kopiowana jest od katalogu …\12\Template\Layouts\ SmartTools.jQuery biblioteka odpowiedzialna za działanie jQuery. Taka czynność przyśpieszy ładowanie się strony - nie jest konieczne ściąganie skryptu z innego serwera. W sytuacji gdy ukaże się nowa wersja jQuery wystarczy ściągnąć bibliotekę (
ściągnij), wrzucić do podanego wyżej katalogu i zmienić ścieżkę w źródle kontrolki (link do kontrolki …\12\Template\CONTROLTEMPLATES\SmartTools.jQuery.ascx).
Po zainstalowaniu funkcji należy ją aktywować na poziomie zbioru witryn. Po aktywacji w źródle każdej strony należącej do tego zbioru witryn można odnaleźć wpis
<script type="text/javascript" src="/_layouts/SmartTools.jQuery/jquery-1.3.min.js"></script>.
Aby sprawdzić czy jQuery działa można wrzucić standardowego WebParta - Edytor zawartości i po przejściu do jego ustawień w podglądzie źródła wpisać kod:
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(event){
alert("As you can see, the link no longer took you to jquery.com");
event.preventDefault();
});
});
</script>
<a href="http://jquery.com/">jQuery</a>
jQuery znajduje tag <a></a> i podpina zdarzenie kliknie kliknięcia.
O jQuery znajduje się dużo dokumentacji w Internecie. Przede wszystkim polecam stronie
jQuery.com.