Der $-Konflikt mit jQuery und SharePoint

Wir haben bestimmt schon alle mal jQuery in SharePoint eingesetzt. So praktisch wie dieses Framework ist. Will man es benutzten, gibt es zwei Möglichkeiten:

Entweder mit dem “Alias”:​$(“#id”).click(…)
Oder mit der längeren Variable: jQuery(“#id”).click(…)​

Aber: In SharePoint selbst gibt es eine JavaScript-Datei, die das $-Zeichen verwendet und mit einer anderen Funktion überschreibt:

$-Funktion in der CMSSiteManager.js
$-Funktion in der CMSSiteManager.js

Diese wird z.B. durch die Miniaturansicht von Bilderbibliotheken, in der Ansicht Inhalte und Struktur verwalten oder im Asset Picker geladen. Daher wird die Variable “$” überschrieben (abhängig welches Skript zuletzt geladen wurde) und man wird ggf. mit vielen hübschen Fehlern beworfen.

Um dies zu verhindern gibt es mehrere Möglichkeiten. Zentral dabei ist die Methode:

jQuery.noConflict();

Diese sorgt dafür, dass jQuery nicht mehr das $() belegt und damit für andere Anbieter frei hält. Danach ist die Funktionalität von jQuery nur noch über das Objekt jQuery() erreichbar. Die Methode muss dann möglichst direkt nach dem Laden des jQuery-Skript ausgeführt werden. Ein guter Weg jQuery und noConflict mit CustomActions bereitzustellen wird hier beschrieben:

http://bradcurtis.com/sharepoint-2010-jquery-compatibility-errors-cmssitemanager-js/

Danach gibt es die folgenden Möglichkeiten im Code mit dem fehlenden Alias umzugehen:

  1. jQuery() nutzten:jQuery(“#ID”).click(…)
  2. eine eigene globale Variable erstellen (am besten direkt in einer “noConflict”-Datei):$mine = jQuery.noConflict(); $mine(“#ID”).click(…)
  3. Mein Favorit: “Immidiate Functions” inkl. Übergabeparameter verwenden:(function($) { $(“#ID”).click(…); })(jQuery)

Diese Funktionen haben auch den großen Vorteil (oder ggf. auch Nachteil), dass nicht alle JavaScript-Methoden und Variablen die man deklariert auf globaler Ebene bereit stehen. Nach meinen Erfahrungen benötigt man in 90% der Fälle keine globalen Deklarationen.

Erfahren Sie mehr

Office 365 Groups als Evolution von SharePoint?
Blog
Blog

Office 365 Groups als Evolution von SharePoint?

Zusätzlich zu SharePoint erlauben die Office 365 Groups es mir als Anwender, schnell und einfach neue Gruppen anzulegen und selbständig Benutzer hinzuzufügen.

Das neuste Mitglied der Office 365 Familie: Delve
Blog
Blog

Das neuste Mitglied der Office 365 Familie: Delve

Microsoft legt nach: Mit Delve startet eine neue Form des Suchens und des Auffinden von Dokumenten und Informationen.

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow
Blog
Blog

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

Sprechen Sie LUIS? – Der intelligente Chat-Bot im Praxistest
Blog
Blog

Sprechen Sie LUIS? – Der intelligente Chat-Bot im Praxistest

Mit LUIS, der Sprach- und Texterkennungssoftware von Microsoft, und dem Bot Framework von Azure haben wir eine Lösung für den IT-Support entwickelt.

Nov
07
Webcast mit Microsoft: Das Intranet zu Ende gedacht
Webinar
Webinar

Webcast mit Microsoft: Das Intranet zu Ende gedacht

Am 07. November findet erneut eines unserer Webinare gemeinsam mit Mircosoft statt. Das Thema dieses Mal: Das Intranet zu Ende gedacht – Die Informationszentral...

novaCapta auf der Fachtagung für Interne Revision
Event
Event

novaCapta auf der Fachtagung für Interne Revision

Das Expertenteam der novaCapta präsentiert am 15. und 16. November ihre innovative Audit Management Lösung auf dem DIIR-Kongress in Dresden. Besuchen Sie unsere...

Auf Goldkurs in der Cloud
News
News

Auf Goldkurs in der Cloud

Die novaCapta hat ihren Partnerstatus bei Microsoft zusätzlich vergoldet: Auch in der Sparte Cloud Productivity haben wir jetzt den Goldstatus.

Valo ist neuer Partner der novaCapta für Intranets
News
News

Valo ist neuer Partner der novaCapta für Intranets

Durch die Partnerschaft mit Valo, dem Ready-2-Go Intranet-Baukasten aus Finnland baut die novaCapta ihr Angebot bei der Umsetzung von schnellen und funktionalen...

Mit der HoloLens ein Stück Berlin nach Köln holen
News
News

Mit der HoloLens ein Stück Berlin nach Köln holen

Im Rahmen eines zweitägigen Hackathons haben sich einige Mitarbeiter der novaCapta der Microsoft HoloLens und dem Thema Mixed Reality gewidmet. Dabei haben wir...

Azure Functions: Der Webservice ohne Webserver
Blog
Blog

Azure Functions: Der Webservice ohne Webserver

Azure Functions als Authentifizierungs-Helfer für clientseitige Lösungen mit 3rd Party APIs

Paket Dependency Manager für .NET
Blog
Blog

Paket Dependency Manager für .NET

Paket ist ein Dependency Manager für .NET, welcher es sich zum Ziel gesetzt hat einige Probleme von NuGet zu beheben.

PowerApps – Neuigkeiten, Übersicht, Tipps & Tricks
Blog
Blog

PowerApps – Neuigkeiten, Übersicht, Tipps & Tricks

Neues aus der Welt von PowerApps