Share via


Verwendung von JavaScript mit Customer Engagement (on-premises)

Dynamics 365 for Customer Engagement bietet viele Verkaufschancen für JavaScript. Alle in Dynamics 365 Customer Engagement (on-premises) verwendeten JavaScript werden durch das Erstellen von JavaScript-Webressourcen hinzugefügt. Dieses Thema enthält Informationen für Entwickler, die JavaScript verwenden, und enthält Links zu relevanten Themen in den Dynamics 365 Customer Engagement Webdiensten und anderen Quellen.

Bereiche, in denen JavaScript in Dynamics 365 Customer Engagement (on-premises) verwendet werden kann

Sie können JavaScript verwenden, um Aktionen in Formularskripten, Befehle der Befehlsleiste (Menüband) und Webressourcen auszuführen.

Formularskripts

Die allgemeinste Verwendung von JavaScript in Dynamics 365 Customer Engagement (on-premises) besteht darin, Funktionen als Handler für Ereignisse in Formularen von Entitäten hinzuzufügen. Weitere Informationen finden Sie unter Clientskripting in Customer Engagement mit JavaScript.

Befehle auf der Befehlsleiste (Menüband)

Wenn Sie die Dynamics 365 Customer Engagement (on-premises)-Befehlsleiste anpassen, können Sie Befehle für Steuerelemente konfigurieren, die Sie hinzufügen. Diese Befehle enthalten Regeln, die steuern, ob das Steuerelement aktiviert ist und welche Aktion bei Verwendung des Steuerelements ausgeführt wird. Weitere Informationen finden Sie unter Anpassen von Befehlen und des Menübands.

Webressourcen

Dynamics 365 Customer Engagement (on-premises) stellt eine Entität bereit, die im Besitz einer Organisation ist und eine Binärdarstellung einer Datei speichert, auf die mit einer URL zugegriffen werden kann. Diese Datei wird als Webressource bezeichnet. Es gibt mehrere Arten von Webressourcen. Eine Webressource, die eine JavaScript-Bibliothek darstellt, wird als JavaScript-Webressource bezeichnet. Sie können eine Webseite (HTML) als Web-Ressource verwenden, um eine Benutzeroberfläche mit eingebundenen JavaScript-Bibliotheken bereitzustellen, so wie Sie es bei Dateien auf einem Webserver tun würden. Da diese Dateien Dynamics 365 Customer Engagement (on-premises) angehören, sind Benutzer, die auf sie zugreifen, bereits authentifiziert. Sie können daher Dynamics 365 Customer Engagement (on-premises)-Webdienste verwenden, ohne Code schreiben zu müssen, um den Benutzer zu authentifizieren. Weitere Informationen finden Sie unter Webressourcen für Dynamics 365 Customer Engagement und Arbeiten mit Dynamics 365 Customer Engagement-Daten mithilfe von Webressourcen.

Verwendung von jQuery

Verwendung von jQuery mit HTML-Webressourcen
Wir empfehlen, dass Sie jQuery gemeinsam mit HTML-Webressourcen zur Bereitstellung von Benutzeroberflächen verwenden, da Sie dadurch über eine ausgezeichnete browserübergreifende Bibliothek verfügen.

Mit HTML-Webressourcen steuern Sie die vorhandenen Bibliotheken, und das DOM kann uneingeschränkt manipuliert werden. Sie können jQuery auch in Ihren HTML-Webressourcen verwenden.

Notiz

Wenn der Skriptverweis zu ClientGlobalContext.js.aspx nach Ihrem eigenen jQuery Verweis angeordnet ist, überschreibt die ClientGlobalContext.js.aspx-Skripte die zuvor geladene Version von jQuery. Um diesen Fehler zu vermeiden, speichern Sie den ClientGlobalContext.js.aspx-Skriptverweis vor gegebenenfalls weiteren Skriptverweisen der Webressource.

Schreiben von JavaScript für mehrere Browser

Da Sie nicht wissen, welcher Browser verwendet wird, sollten Sie sicherstellen, dass die verwendeten Skripts mit allen unterstützten Browsern ordnungsgemäß funktionieren. Zahlreiche wichtige Unterschiede zwischen Internet Explorer und anderen Browsern beziehen sich auf die HTML- und XML-DOM-Manipulation. Da die HTML-DOM-Manipulation nicht unterstützt wird, wenn die Skriptlogik nur unterstützte Aktionen ausführt und das Client-API verwendet, können die zur Unterstützung anderer Browser erforderlichen Änderungen geringfügig sein.

Eine browserübergreifende Bibliothek wie jQuery ist eine gute Lösung zur Entwicklung von Webressourcen. Sie sollte jedoch nicht für Formularskripts oder Menübandbefehle erforderlich sein. Erfahren Sie mehr: Vermeiden Sie die Verwendung von jQuery für Formular-Skripte

Bewährte Methoden zur JavaScript-Programmierung

Die folgenden Abschnitte beschreiben bewährte Verfahren, wenn Sie JavaScript mit Dynamics 365 Customer Engagement (on-premises) verwenden.

Verwenden Sie keine nicht unterstützten Methoden.

Im Internet finden Sie zahlreiche Beispiele oder Vorschläge, in denen nicht unterstützte Methoden beschrieben werden. Dazu können auch die Nutzung von nicht dokumentierten internen Funktionen für die Seitensteuerung gehören. Diese Methoden funktionieren möglicherweise, da sie jedoch nicht unterstützt werden, können Sie nicht erwarten, dass sie in zukünftigen Versionen von Dynamics 365 Customer Engagement (on-premises) funktionieren.

Verwenden Sie eine browserübergreifende JavaScript-Bibliothek für Benutzeroberflächen von HTML-Webressourcen.

Eine browserübergreifende JavaScript-Bibliothek, wie z.B. jQuery, bietet viele Vorteile bei der Entwicklung von HTML-Webressourcen, die mehrere Browser unterstützen müssen. JavaScript-Bibliotheken wie jQuery bieten eine einheitliche Entwicklungserfahrung für alle von Dynamics 365 Customer Engagement (on-premises) unterstützten Browser. Diese Features sind geeignet, wenn Sie HTML-Webressourcen verwenden, um Benutzeroberflächen bereitzustellen. JavaScript-Bibliotheken wie jQuery bieten einheitliche Möglichkeiten zur Interaktion mit dem Document Object Model (DOM).

Verwenden Sie jQuery nicht für Formularskripts oder Befehle.

Die Verwendung von jQuery für jegliche Seiten innerhalb der Anwendung wird von uns nicht empfohlen bzw. unterstützt. Dazu gehören auch Formularskripts und Menübandbefehle. Weitere Informationen: Verwendung von jQuery.

Ermitteln Sie die Einschränkungen für Bibliotheken im Content Delivery Network (CDN).

Content Delivery Network (CDN) JavaScript-Bibliotheken bieten viele Vorteile für öffentliche Websites. Da diese Bibliotheken im Internet gehostet werden, müssen Sie keine Webressourcen erstellen, in denen die Inhalte der Bibliotheken enthalten sind. Für Dynamics 365 Customer Engagement (on-premises) sollten Sie die folgenden Punkte beachten, bevor Sie eine CDN JavaScript Bibliothek verwenden.

  • Benutzer des Clients Dynamics 365 for Microsoft Office Outlook mit Offline Access haben die Funktionalität, ohne Internetverbindung zu arbeiten, während sie offline arbeiten. Wenn Sie für Ihre JavaScript-Bibliotheken von einer Internetverbindung abhängig sind, wird Ihr Code fehlschlagen.

  • Einige Organisationen schränken den Internetzugriff für Mitarbeiter ein. Sofern das Netzwerk nicht so konfiguriert ist, dass der Zugriff auf die Websites der CDN-Bibliotheken gestattet wird, schlägt Ihr Code möglicherweise in diesen Organisationen fehl.

    Die Alternative zur Verwendung von CDN-Bibliotheken besteht darin, eine Skript-Webressource (JavaScript) mit dem Inhalt der Bibliothek zu erstellen. Da Webressourcen Entitäten sind, die sich im Besitz der Organisation befinden, werden sie synchronisiert, wenn ein Dynamics 365 for Outlook-Benutzer mit Offlinezugriff in den Offlinemodus wechselt. Da diese Webressourcen jetzt Teil der Anwendung geworden sind, werden sie nicht blockiert, wenn eine Organisation den Zugriff auf das Internet beschränkt.

Verwenden Sie die Funktionserkennung beim Schreiben von Funktionen für mehrere Browser.

Auch wenn Sie eine browserübergreifende Bibliothek wie jQuery verwenden, müssen Sie die Unterschiede zwischen den Browsern ausdrücklich berücksichtigen. Sie können im Allgemeinen ermitteln, welcher Browser verwendet wird, indem Sie die navigator.useragent-Eigenschaft abfragen. Dies wird als Browsererkennung bezeichnet. Die Browsererkennung ist in den meisten Fällen keine gute Strategie, da sie die Funktionen der neueren Browserversionen nicht berücksichtigt. Einige Browser haben die Fähigkeit, die navigation.useragent-Eigenschaft zu ändern, sodass es scheint, als wären sie ein anderer Browser.

Das Verfahren der Funktionserkennung ist zu empfehlen. Durch Ermitteln der verfügbaren Funktionen können Sie Codepfade für die Browser erstellen, die Sie unterstützen, ohne genau zu wissen, welcher Browser verwendet wird. Weitere Informationen zur Funktionserkennung finden Sie unter Erkennen von Funktionen anstelle von Browsern.

Greifen Sie nicht auf das DOM zu.

JavaScript-Entwickler sind es gewohnt, mit Document Object Model (DOM)-Elementen im Code zu interagieren. Sie können die window.getElementById-Methode oder die jQuery-Bibliothek verwenden. Sie können diese Techniken in Ihren HTML-Webressourcen verwenden. Eine Unterstützung des Zugriffs auf Elemente in Dynamics 365 Customer Engagement (on-premises)-Anwendungsseiten oder Entitätsformularen ist jedoch nicht vorhanden. Stattdessen wird der Zugriff auf Entitätsformularelemente über das Client-API-Objektmodell verfügbar gemacht. Das Dynamics 365 Customer Engagement (on-premises)-Entwicklerteam behält sich das Recht vor, die Zusammensetzung der Seiten zu ändern, einschließlich der ID-Werte für Elemente. Daher schützt die Verwendung des Client-API-Objektmodells Ihren Code vor Änderungen der Implementierungsmethode der Seiten.

Definieren Sie eindeutige Namen für Ihre JavaScript-Funktionen.

Wenn Sie der einzige Entwickler für eine HTML-Seite sind, können Sie die Namen der von Ihnen verwendeten JavaScript-Funktionen ganz einfach verwalten. In Dynamics 365 Customer Engagement (on-premises) können andere Lösungen JavaScript-Funktionen zu der Seite hinzufügen, auf der Ihre Funktion verwendet wird.

Wenn zwei JavaScript-Funktionen auf einer Seite den gleichen Namen haben, wird die zuerst definierte Funktion durch die zweite überschrieben. Stellen Sie daher sicher, dass Sie eindeutige Namen für Ihre JavaScript-Funktionen definieren. Weitere Informationen finden Sie unter Clientskripting in Customer Engagement mit JavaScript.

Verwenden Sie asynchrone Datenzugriffsmethoden.

Wenn Sie mithilfe der Dynamics 365 Customer Engagement (on-premises)-Webdienste auf Daten zugreifen, sollten Sie immer ein XMLHttpRequest-Objekt verwenden, das zur asynchronen Ausführung konfiguriert wurde. Der Grund dafür ist, dass der Browser einen einzigen Thread verwendet. Wenn dieser Thread zur synchronen Ausführung eines zeitaufwendigen Prozesses verwendet wird, reagiert der Browser nicht mehr.

Notiz

Synchrone XMLHttpRequests sind auf dem Hauptthread im Browser veraltet aufgrund der negativen Auswirkungen auf die Benutzerfreundlichkeit. Einige Browser haben jetzt eine Warnung zur Verfügung, falls dieses erkannt wird. Wenn Browser die Spezifikationen zukünftig implementieren, wird eine InvalidAccessError-Ausnahme ausgegeben. Weitere Informationen: https://www.w3.org/TR/XMLHttpRequest/#synchronous-flag und https://xhr.spec.whatwg.org/#the-open()-method

Siehe auch

Schreiben von Client-Anwendungserweiterungen
Verwenden von Customer Engagement-Daten mithilfe von Webressourcen
Clientskripting mit Customer Engagement (on-premises) mithilfe von JavaScript
Anpassen des Menübands für Dynamics 365 Customer Engagement (on-premises)
Webressourcen für Dynamics 365 Customer Engagement (on-premises)

Grundlegendes zum Client API-Objektmodell