原先有一段程序,是用VB的Environ函数取得环境变量"UserProfile”的值,现在要用Javascript取得环境变量的值,请问应该怎么取啊,我不会Javascript,弄了一下午也没弄出来,各位大侠帮帮忙啦我下午看了一下,网上有说Javascript用下面这种方式获得环境变量的,但是我的程序还有点小问题大家帮忙解决一下
<script languag="Javascript">
var WshShell = new ActiveXObject("Wscript.shell");
var WshSysEvn = WshShell.Envionment("System");
document.write(WshSysEvn("PATH"));
</scirpt>
1.我不知道这个"Wscript.shell"是不是跟操作系统或者浏览器有关系,如果只能在WINDOWS的IE里运行的话局限性就太小了,各位能帮忙解答一下么?
2.ActiveXObject这个方法在IE以外的浏览器里边能用么?
3.万一new ActiveXObject("Wscript.shell")这句话没能取到"Wscript.shell"的对象,那就会发生错误的,虽然可以用try...catch来判断是否取到对象,但是能不能有其他的办法在执行new ActiveXObject("Wscript.shell")之前就判断出"Wscript.shell"的对象能否取到呢,这样new ActiveXObject("Wscript.shell")就肯定没有问题了?因为运行环境的问题,还有个小问题也要问一下
3.Javascript是不是只能运行在WINDOWS操作系统下,并且必须是IE浏览器?谢谢各位的回答了,同样的问题在vbscript区里还有,大家要帮帮我啊

解决方案 »

  1.   

    首先你的这种JS用法注定要受限制。标准的javascript是运行在沙箱环境中的,不允许访问
    客户端的文件系统等资源仅可以访问本域内的bom(浏览器对象模型)和Dom(文档对象模型)。
    至于这个Wscript.shell,是IE所支持的ActiveX对象,当然也就只有在
    windows系统+IE浏览器+适当的用户权限的情况下才可以运行了。我的建议是放弃用JS,试着用Java Applet或Flash试试,只要可以得到,这些对象都可以和
    JS交互,也就很容易解决了
      

  2.   

    但是我用这种方法确实可以取到环境变量啊,如果Wscript.shell是IE所支持的ActiveX对象,只有在 
    windows系统+IE浏览器+适当的用户权限才能运行的话看来我的程序事白费了,唉,不知道用Java怎么能实现我的功能并且传给javascirpt,楼上的帮忙解答一下啊