U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Programmeringsmiddelen specifiek aan HTML5 omgeving van Mercator

0000002672     -      24-10-2016

Wanneer Mercator wordt uitgevoerd in een gevirtualiseerde sessie, is de volgende eigenschap verschillend van  null MercatorUi.Globals.VirtualUI

Dit object van de klasse MercatorVirtualUI.MercatorVirtualUI, dat zich bevindt in MercatorTunnel.dll, biedt toegang tot een scala aan eigenschappen en methodes die specifiek zijn voor virtualisatie.

Bijvoorbeeld

  • Ken de Browser Agent de l'internaute : MercatorUi.Globals.VirtualUI.BrowserInfo.UserAgent

  • Een cookie maken: MercatorUi.Globals.VirtualUI.SetCookie("mycookie""valeur"DateTime.Now.AddDays(1));

  • Een cookie lezen: string s = MercatorUi.Globals.VirtualUI.GetCookie("mycookie");

  • Dwing het downloaden van een bestand vanop de server : MercatorUi.Globals.VirtualUI.DownloadFile(@"c:\fichier_sur_le_serveur");

  • Simuleer een client op een anker (HREF) : MercatorUi.Globals.VirtualUI.OpenLinkDlg("http://www.supersite.com");

  • Javascript uitvoeren in de browser van de surfer: MercatorUi.Globals.VirtualUI.ExecScript("alert('Hello world !');");

  • Weten of de modus "Touch device" geactiveerd is: bool b = MercatorUi.Globals.VirtualUI.IsTouchDevice;

  • ...

 

Bovendien is er in de Code Editor van het Tools menu een soort supplementair tabblad beschikbaar: Js

Dit maakt het mogelijk om JavaScript-code direct uit te voeren in de browser.


Tot gevolg wordt de gevirtualiseerde Mercator weergegeven dankzij de twee programmeertalen:

  • C# die uitgevoerd wordt in Mercator op de server
  • JavaScript wordt uitgevoerd in de browser van de surfer

De relaties tussen de twee zijn natuurlijk mogelijk. De JavaScript-code zal bijvoorbeeld een cookie rechtstreeks in de browser van de internaut creëren:

var c_name = 'mycookie';
var exdate = new Date();
exdate.setDate(exdate.getDate() + 1);
var c_value = encodeURIComponent('Hello World') + "; expires=" + exdate.toUTCString();
document.cookie = c_name + "=" + c_value + "; path=/"; 

En de C# code zal dezelfde cookie lezen:

Zoom
string s = MercatorUi.Globals.VirtualUI.GetCookie("mycookie");