Zugriff auf eine globale Variable
Die HTML Datei, die das XBAP im Frame hosted, definiert eine globale Variable "javatext":
<script type="text/javascript">
var javatext = "text aus java";
Der Zugriff auf diese Variable "javatext" erfolgt in C# dann wie folgt:
scri = BrowserInteropHelper.HostScript;
mess.Text = (string)scri.javatext;
Zugriff auf Arrays:
JAVASCRIPT:
<script type="text/javascript">
var record = new Array(3);
var table = new Array(record,record,record);
C# XBAP im <iframe>:
dom = BrowserInteropHelper.HostScript;
mess.Text = (string)dom.record[0];
mess.Text = (string)dom.table[1][2];
Zugriff auf ein Objekt:
JAVASCRIPT:
<script type="text/javascript">
function Record(mandant, filiale, datei, data) {
this.Mandant = mandant;
this.Filiale = filiale;
this.Datei = datei;
this.Data = data;
}Strokey.Net
var felder = new Array(99); felder[0] = "0000035"; felder[1] = "01"; var Kunde = new Record("nov", "", "kpdk1s", felder);
C# XBAP im <iframe>:
dom = BrowserInteropHelper.HostScript;
mess.Text = (string)dom.Kunde.Mandant;
//mess.Text = (string)dom.Kunde.Data[1]; //das gelingt nicht - kein Zugriff auf das Array innerhalb des Objektes!
Warum das Ganze?
In meinem Fall möchte ich via C# XBAP über Javascript Zugriff auf Daten eines älteren UNIX-Systems haben. Dieses UNIX-System nutzt einen Windows-Telnet-Thinclient als Terminal. Dieser Windows-ThinClient nutzt die WebBrowser Komponente. Via ESCAPE-Sequenzen des UNIX-Systems kann direkt HTML/JAVASCRIPT bidirektional in die WebBrowser-Komponente transportiert werden. Es ist reizvoll neben HTML auch XBAP-Programme für das Frontend ON TOP nutzen zu können.
Benefit from the best Windows Desktop app in the world and use Strokey.Net!