Empfangsbereitschaft der Lösung gegenüber der Webseite

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Eingebettete Webseiten-Lösungen > Kommunikation zwischen Webseite und Server >

Empfangsbereitschaft der Lösung gegenüber der Webseite

Das Senden einer Nachricht von MobileTogether Server an eine Webseite verläuft in den folgenden Schritten:

 

1.Die Eingebettete Nachricht zurück-Aktion des Workflow sendet die Nachricht in der Form eines serialisierten JSON-String an den IFrame. Sie definieren die zu sendende Nachricht in der Aktion.
2.Wenn die Nachricht beim IFrame einlangt, wird sie an die Webseite weitergeleitet, wo ein Event Listener das Nachrichtenereignis aufnimmt und eine Funktion zur Verarbeitung der Nachricht aufruft. Sie können einen Event Listener für das Nachrichtenereignis folgendermaßen registrieren: window.addEventListener('message', ProcessReturnMsg)
3.Die Funktion (ProcessReturnMsg im Beispiel oben) erhält als Parameter das Nachrichtenereignis in Form eines deserialisierten JSON-Objekts. Sie können das Objekt nun wie gewöhnlich aufrufen und es auf der HTML-Seite verwenden. Z.B.:

function ProcessReturnMsg(m) {

msgVar = m.data.json.books

...

}

 

Nähere Informationen dazu finden Sie auf der Mozilla Developer Network-Website unter den Beschreibungen zu AddEventListener und MessageEvent.

 

Beispiel

Das Design enthält eine $MT_EMBEDDEDMESSAGE-Seitenquelle mit der in Abbildung unten gezeigten Struktur. Beachten Sie, dass das Root-Element dieser Seitenquelle immer json heißt (da es sich um eine JSON-Seitenquelle handelt).

MTDEWSExJSONPgSrc

Wir können den gesamten Inhalt dieser Seitenquelle (oder einen Teil davon) als Nachrichtenereignis an die Lösung im IFrame senden. Dies könnte z.B. über eine Schaltfläche im Design erfolgen, für deren BeiSchaltflächenklick-Ereignis eine Eingebettete Nachricht zurück Aktion definiert ist (Siehe Abbildung unten). Beachten Sie, dass als Nachrichtenereignis der Inhalt der $MT_EMBEDDEDMESSAGE-Seitenquelle, d.h. der json-Node und sein Inhalt gesendet wird.

MTActionEmbeddedMsgBack

Wir können auf der HTML-Seiten nun einen Event Listener registrieren: window.addEventListener('message', ProcessReturnMsg)

 

Sie können das Objekt nun wie gewöhnlich aufrufen und es auf der HTML-Seite verwenden. Beispiel:

function ProcessReturnMsg(m) {

  msgVar = m.data.json.books

  /* 'm' is the HTML message event that is passed to ProcessReturnMsg */

  /* 'data' belongs to the event and holds the message returned by the MT action */

  /* 'json' is the JSON object that is contained in the message */

  ...

    }

 

Im obigen Beispiel wird der Inhalt von books in msgVar gespeichert.

 


© 2019 Altova GmbH