SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure
Javascript-Fehler durch Rich Text Editor und CSS im SharePoint 2010

Zum Hintergrund

Bei der Bearbeitung einer Wiki-Seite ist uns während der Testphase eines Projekts ein Javascript-Fehler aufgefallen, der dafür gesorgt hat, dass sich im Ribbon die "Formatvorlagen" wie auch die "Markupformatvorlagen" nicht aufklappen ließen, diese Optionen also nicht zu nutzen waren.

Troubleshooting

Nachdem nun mit der Datei "sp.ui.rte.js" der Auslöser der Fehlermeldung feststand, ging es ans Troubleshooting. Hierzu kann man wunderbar den Skript-Debugger in den Entwicklertools (a.k.a. F12) des Internet Explorers 8 nutzen.

Dieser brachte dann vor allem als Ergebnis, dass scheinbar ein Zugriffsproblem besteht, weshalb wir für einen Moment annahmen, dass es unter Umständen an den Rechten unseres Benutzer-Accounts liegen könnte.

Als wir dann testweise dieselbe Seite einmal mit dem Firefox betrachteten, und dort das Developer-Tool "Firebug" zu Hilfe nahmen, kamen wir der Sache eindeutiger auf dem Grund.

Dort konnten wir erkennen, dass es scheinbar ein Problem mit einer von uns erstellten CSS-Datei gibt.

Die Lösung

Genau die von uns eigens für das Theming bzw. Customizing des SharePoint erstellte CSS-Datei war der Grund für den Javascript-Fehler. Naja, nicht direkt die Datei selber, sondern vielmehr die Art und Weise, wie wir die Datei in der Masterpage eingebunden haben.

Um nämlich möglichst flexibel und schnell für die Testumgebung des Kunden entwickeln zu können, haben wir die CSS-Datei auf einen unserer Server ausgelagert und in der Masterpage dann per absoluten Pfad eingebunden.

Sobald aber die "Bearbeiten"-Funktion des Ribbons genutzt wird, und die Funktionalitäten des Rich Text Editors erforderlich werden, versucht die Datei "sp.ui.rte.js" alle vorhandenen Styles aus der aktuellen Seite zu ziehen, da diese ja auch die Styles für die "Formatvorlagen" und die "Markupformatvorlagen" beinhalten (die sich in der "HTMLEditorStyles.css" im Layouts-Ordner befinden).

Was nun scheitert ist der Zugriff auf die Styles der "externen" CSS-Datei, und genau das löst den Javascript-Fehler aus.

Die Lösung lautet also: eigene CSS-Dateien für das Theming bzw. Customizing MÜSSEN auf dem System selbst liegen, idealerweise z.B. im "themeable"-Ordner, damit ein richtiger Zugriff darauf erfolgen kann.

Viele Grüße,

Christian Otto
www.maximago.de


Bereitgestellt 26 Nov 2010 9:28 von Christian Otto

Kommentieren

(erforderlich)
(optional)
(erforderlich)  
Erinnern Sie sich an mich?