30.10.2007
Wer mit den Microsoft SharePoint Services 3.0 oder dem Microsoft Office SharePoint Server 2007 eine öffentliche Website betreibt, kennt das Problem vielleicht: Die Seiten möchten per JavaScript gerne eine zu Microsoft Office gehörende ActiveX-Komponente instanziieren, die name.dll. Das ist im Intranet höchst nützlich und für manche Funktionen auch notwendig. Auf einer öffentlichen Seite, auf die anonym zugegriffen wird, ist es aber nicht nur nutzlos, sondern ärgerlich: Spätestens seit Internet Explorer 7 erscheint nämlich eine lästige Warnung.
Es gibt einen Microsoft Knowledge Base-Artikel 931509, der beschreibt, wie man dem abhelfen kann. Das ist nur leider die Radikallösung - die name.dll wird danach überhaupt nicht mehr geladen, auch nicht im Intranet. Da das die Funktionalität z. B. der Seitenpflege einschränkt, haben wir das etwas weiter geführt. Wenn Sie möchten, können Sie die folgende Anleitung nach sorgfältiger Prüfung und Anpassung an Ihre eigene Umgebung auf eigene Gefahr ausprobieren:
Suchen Sie die folgende Funktion:
function EnsureIMNControl()
Wenige Zeilen dahinter finden Sie folgende Zeile:
if (browseris.ie5up && browseris.win32)
Ersetzen Sie diese durch folgenden Code:
if (browseris.ie5up && browseris.win32
&& (document.URL.indexOf(".") < 0
|| document.URL.indexOf(".") > document.URL.indexOf("/", document.URL.indexOf("://") + 3)))
JavaScript hält es für eine gute Idee, zwischen Groß- und Kleinschreibung zu unterscheiden. Sie müssen die Schreibweise also genau einhalten, damit das Script funktioniert.
Mit dieser Bedingung wird das Script (welches im Browser der Websitebesucher laufen wird) das ActiveX-Control nur noch dann ansprechen, wenn in der URL, mit der die Seite aufgerufen wurde, entweder gar kein Punkt vorkam, oder wenn der erste Punkt erst nach dem ersten Schrägstrich nach der Zeichenfolge :// vorkommt. Beim Aufruf von http://netbiosname/Seiten/Default.aspx kommt zwar ein Punkt vor, aber erst nach dem dritten Schrägstrich. Das ActiveX-Control wird also geladen - wir sind im Intranet. Beim Aufruf von http://www.dnsname.com/Seiten/Default.aspx kommen Punkte aber schon vor dem dritten Schrägstrich vor. Wir sind im Internet, anonym angemeldet, und das ActiveX-Control wird nicht geladen.
Voilà.
Nach oben • Kontakt • Impressum • Datenschutzerklärung • Sitemap