In VBScript there is a function called CreateObject, which can be run on a client through a webpage. I've used it before like this:
Set icaObj = CreateObject("Citrix.ICAClient")
CitrixVersion = icaObj.ClientVersion
To find out which version of the application was installed on the client machine.
Is there something comparable in JavaScript?
Is there something comparable in JavaScript?
Not in JavaScript, but in Microsoft's JScript in limited environments, yes:
var icaObj = new ActiveXObject("Citrix.ICAClient");
And just like VBScript, this will only work in a very limited situation: Specificially, something running with Internet Explorer with full permissions (or, of course, in JScript running on the server).