Zu vermeidende Funktionen in Lightning Experience
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Nennen von mindestens zwei Komponenten, deren Verwendung auf Seiten vermieden werden muss, die in Lightning Experience verwendet werden.
- Angeben von drei Lightning Experience-Funktionen, in denen keine Visualforce-Seiten oder -Komponenten verwendet werden können.
Zu vermeidende Funktionen in Lightning Experience
Es gibt einige wenige Visualforce-Komponenten, die Sie auf Seiten vermeiden sollten, die in Lightning Experience verwendet werden. Darüber hinaus verhalten sich einige wenige Funktionen von Visualforce anders, wenn sie in Lightning Experience verwendet werden. Schließlich gibt es einige Stellen in Lightning Experience, an denen Sie Visualforce-Seiten oder -Anwendungen nicht verwenden können oder an denen sie u. U. nicht wie erwartet funktionieren.
Lightning Experience wird laufend weiterentwickelt und erweitert, sodass diese Liste im Laufe der Zeit hoffentlich immer kleiner wird.
Lightning Experience-Kopfzeile und Navigationsmenü können nicht unterdrückt werden
Visualforce-Seiten werden immer mit der normalen Lightning Experience-Benutzeroberfläche angezeigt, wenn sie in Lightning Experience ausgeführt werden. Es gibt keine Möglichkeit, die Lightning Experience-Kopfzeile oder -Randleiste zu unterdrücken oder zu ändern. Insbesondere haben die Attribute showHeader und sidebar von <apex:page> keine Auswirkung auf Visualforce-Seiten, wenn sie in Lightning Experience angezeigt werden.
Dieses Verhalten ist beabsichtigt. Anwendungen die in Lightning Experience angezeigt werden, sind Lightning Experience-Anwendungen. Wenn Sie eine umfassend angepasste Oberfläche für Ihre Anwendung bereitstellen müssen, müssen Sie die Anwendung in Salesforce Classic ausführen.
Salesforce Classic-Kopfzeile und -Randleiste werden immer unterdrückt
Die Standardkopfzeile und -randleiste von Salesforce Classic werden immer unterdrückt, wenn Seiten in Lightning Experience angezeigt werden. Insbesondere haben die Attribute showHeader und sidebar von <apex:page> keine Auswirkung auf Visualforce-Seiten, wenn sie in Lightning Experience angezeigt werden.
Seiten verhalten sich so, als wären die Attribute showHeader und sidebar von <apex:page> beide auf FALSE festgelegt.
<apex:relatedList> und als Ausschlussliste gekennzeichnete Themenlisten
Es gibt mehrere Themenlisten, die in Lightning Experience nicht unterstützt werden. Diese Themenlisten sind als "Ausschlussliste" gekennzeichnet, d. h., deren Verwendung wird ausdrücklich verhindert. Wie zu erwarten, sind diese Themenlisten in Visualforce mit Tag <apex:relatedList> als Ausschlussliste gekennzeichnet.
Unter "Datenzugriff und Ansichten: Einschränkungen von Lightning Experience" in der Online-Hilfe erhalten Sie genauere Informationen dazu, welche Themenlisten in Lightning Experience nicht unterstützt werden.
Vermeiden Sie <apex:iframe>
Obwohl es nicht unmöglich ist, <apex:iframe> in einer Visualforce-Seite in Lightning Experience zu verwenden, wird empfohlen, dies zu vermeiden.
Visualforce-Seiten werden in einen eigenen IFrame eingeschlossen, wenn sie in Lightning Experience angezeigt werden. Wie ausführlich in Erkunden des Visualforce-Anwendungscontainers erklärt, hat dies eine Reihe von bedeutenden Auswirkungen auf das Verhalten der Seite. Das Hinzufügen einer weiteren Ebene zum IFrame-Stapel erhöht die Komplexität der Umgebung.
Sie können diese Komplexität in den Griff bekommen, wenn Sie verstehen, wie Iframes das DOM und JavaScript beeinflussen. Es ist jedoch schwierig, geschachtelte Iframes zu debuggen, wenn Sie keine Erfahrung damit haben. Aus diesem Grund wird empfohlen, dieses Tag auf Seiten zu vermeiden, die in Lightning Experience verwendet werden.
Legen Sie window.location nicht direkt fest
Auch wenn bereits darauf hingewiesen wurde, wird dies hier erneut erwähnt, weil es wichtig ist. Falls der JavaScript-Code Ihrer Seite die Variable window.location direkt festlegt, funktioniert dies nicht, wenn die Seite in Lightning Experience angezeigt wird. Sie müssen diesen Code für die Seite ändern, damit sie in Lightning Experience funktioniert.
Einzelheiten dazu finden Sie in der Lektion Verwalten der Navigation.
sforce.one gibt es nicht nur in der mobilen Salesforce-Anwendung
Das JavaScript-Dienstprogrammobjekt sforce.one steht für Visualforce-Seiten in der Salesforce-Anwendung und Lightning Experience zur Verfügung. Wenn Sie das Vorhandensein des sforce.one-Objekts verwendet haben, um festzustellen, ob die Seite in einem Mobilgeräte- oder Desktopkontext ausgeführt wird, müssen Sie Ihren Code aktualisieren.
Verwenden Sie für die Unterscheidung zwischen den Umgebungen Salesforce Classic, Salesforce-Anwendung und Lightning Experience eine der dokumentierten Vorgehensweisen. Unterstützte Methoden sind in Visualforce, Apex und JavaScript verfügbar.
Alle Einzelheiten finden Sie in der Lektion Gemeinsame Nutzung von Visualforce-Seiten zwischen Salesforce Classic und Lightning Experience.
Änderungen bei Aktionsüberschreibungen
Eine bedeutende Änderung, die sich eventuell eher schwer umgehen lässt, ist: Visualforce überschreibt einige Standardaktionen, die in Lightning Experience und Salesforce Classic leicht anders sind. Auf alle überschriebenen Objektlistenaktionen kann in Lightning Experience nicht mehr zugegriffen werden.
Es gibt sechs Standardaktionen, die Sie für die meisten Standard- und alle benutzerdefinierten Objekte in Salesforce Classic überschreiben können:
- Objektregisterkarte
- Objektliste
- Datensatzansicht
- Datensatzbearbeitung
- Datensatzerstellung
- Datensatzlöschung
In Lightning Experience wurden die ersten beiden Aktionen auf der Objektstartseite kombiniert. Die Objektstartseite ähnelt der Objektliste, verfügt aber über einige zusätzliche Elemente der Objektregisterkarte, u. a. die zuletzt verwendeten Elemente. Andere Elemente, z. B. Berichte oder Tools, wurden in andere Bereiche der Benutzeroberfläche verschoben.
Unabhängig von den Einstellungen der Benutzeroberfläche in Ihrer Organisation können sowohl die Objektregisterkarte als auch die Objektliste beim Setup überschrieben werden. Wenn die Aktion der Objektregisterkarte überschrieben wird, geschieht erwartungsgemäß auch dasselbe für die Objektstartseite in Lightning Experience.
In Lightning Experience steht die Objektlistenaktion nicht in der Benutzeroberfläche zur Verfügung, kann also nicht ausgelöst werden. Falls Ihre Organisation die Objektlistenaktion für ein Objekt überschrieben hat, ist diese Funktionalität nicht verfügbar, wenn die Benutzer Lightning Experience verwenden. Wenn bei dieser Überschreibung wichtige Funktionen fehlen, müssen Sie sie auf eine andere Art zur Verfügung stellen.
Die folgende Tabelle enthält eine Liste der Standardaktionen, die Sie für ein Objekt in Setup überschreiben können, sowie der Aktion, die in den drei verschiedenen Benutzeroberflächen überschrieben wird.
Überschreibung in Setup | Salesforce Classic | Lightning Experience | Salesforce-Anwendung |
---|---|---|---|
Tab | Objektregisterkarte | Objektstartseite | Suche |
Liste | Objektliste | entfällt | Objektstartseite |
Anzeigen | Datensatzansicht | Datensatzstartseite | Datensatzstartseite |
Bearbeiten | Datensatzbearbeitung | Datensatzbearbeitung | Datensatzbearbeitung |
Neu | Datensatzerstellung | Datensatzerstellung | Datensatzerstellung |
Löschen | Datensatzlöschung | Datensatzlöschung | Datensatzlöschung |
Ressourcen