Diese Funktion dient im Wesentlichen als Nachrichten-Listener für Nachrichten von der Hostsite. Der Aufruf ist asynchron.
Parameter
Der registrierte Callback wird aufgerufen, wenn eine Nachricht eines bestimmten Typs vom SDK empfangen wird. Wenn der Callback einen Wert zurückgibt, wird dieser Wert wieder an die Seite zurückgegeben. Wenn kein Callback an diese Funktion übergeben wird, werden alle registrierten Listener für diesen Nachrichtentyp gelöscht.
Hierbei handelt es sich um JavaScript-Callbacks. Die Funktion sollte also JavaScript Closure verwenden oder angemessen gebunden werden, um den Zugriff auf den jeweiligen Kontext sicherzustellen.
Name | Typ | Beschreibung |
---|---|---|
|
Zeichenfolge |
Nachrichtentyp:
|
|
Funktion |
Die Funktion, wenn eine Nachricht von einer Hostsite empfangen wird. |
Nachrichtentypen
Nachrichtentyp | Beschreibung |
---|---|
SETTINGS_UPDATED | Wenn Sie diese Nachricht abonnieren, werden Sie benachrichtigt, wenn ein Wert im Einstellungsbereich geändert wird. In der Regel aktualisiert die Komponente ihre Formatvariante in der Benutzeroberfläche als Reaktion. |
TRIGGER_ACTIONS | Beim Veröffentlichen dieser Nachricht wird ein Trigger ausgelöst und eine Payload übergeben. |
EXECUTE_ACTION | Abonnieren Sie diese Nachricht, um benutzerdefinierte Aktionen zu verarbeiten. Der Listener verarbeitet diese Nachricht in der Regel durch Ausführung der jeweiligen Aktion. |
GET_ACTIONS | Abonnieren Sie diese Nachricht, um ein Array aus Aktionen zu deklarieren, die die Komponente ausführen kann. Gibt ein Array aus Aktionen zurück. |
GET_TRIGGERS | Abonnieren Sie diese Nachricht, um ein Array aus Triggern zu deklarieren, die die Komponente auslösen kann. Gibt ein Array aus Triggern zurück. |
COPY_CUSTOM_DATA | Abonnieren Sie diese Nachricht, um benutzerdefinierte Einstellungsdaten in die Zwischenablage zu kopieren. Gibt ein Objekt zurück, das die für die Zwischenablage vorgesehenen Daten darstellt. |
PASTE_CUSTOM_DATA | Abonnieren Sie diese Nachricht, um benutzerdefinierte Einstellungsdaten aus der Zwischenablage einzufügen. |
Verwendung
Einige Listener empfangen übergebene Daten, während andere Daten zurückgeben.
Beispiel 1:
Registrieren Sie einen Nachrichten-Listener für den Nachrichtentyp EXECUTE_ACTION
:
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);
Die registrierte callback
-Funktion sollte ein Argument akzeptieren, wie hier gezeigt:
// typical signature of a callback function registered with a message // type function (args) { var payload = args.detail.message.payload, action = args.detail.message.action, actionName = action && action.actionName; // do something here with the payload data }
Beispiel 2:
Der COPY_CUSTOM_DATA
-Listener wird in der Regel mit Code wie dem Folgenden implementiert:
// listen for COPY_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA,
Die Methode copyCustomDataListener()
gibt ein Objekt zurück, das die Daten darstellt, die in die Zwischenablage kopiert werden sollen. Beispiel:
// Handle Copy Style (save customSettingsData to the clipboard) self.copyCustomDataListener = function() { return { prop1: this.prop1(), prop2: this.prop2() }; };
Beispiel 3:
Die PASTE_CUSTOM_DATA-Anforderung akzeptiert Daten, muss aber nichts zurückgeben:
// listen for PASTE_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);
Zusammen mit:
// Handle Paste Style (apply customSettingsData from the clipboard) self.pasteCustomDataListener = function(data) { ... };