new ActiveXObject("ADODB.Stream");需要本机环境的支持,也就是说需要浏览器所在机器支持,因为html页面(包括其中的Javascript)是在浏览器上进行解析,所以在linux下应该就不支持了。

解决方案 »

  1.   

    浏览器的问题!
    ADODB.Stream是微软的MADC的组件
    需要 Microsoft ActiveX Data Objects 2.5 Library 
    估计linux支持不了
    而且linux下的浏览器一般不支持vbscript,js支持有限
      

  2.   

    不好意思,没说明白,我是说我把个文件放在window下面,直接用IE打开它,正常
    当我把这个文件放到公网上面,服务器是LINUX,然后仍然用这台机子访问它,出错了,提示创建object错误
    不明白是什么回事,请指教,因为按照我的理解,它应该是通过客户端来创建的呀,与服务器有关系吗?
      

  3.   

    关注~~可能服务器在发给客户端前先处理了一下,看看html的源代码还跟原来一样不?
      

  4.   

    html的源代码没有变啊,我复制下来存到本地,又可以正常测试...
      

  5.   

    JS ActiveX是要客户端支持的。和服务器端无关。而且如果我没记错的话:
    ActiveXObject("ADODB.Stream");做一个漏洞,
    在很多打了补丁的机子上,都无法执行。原来被普遍用在,网页中嵌木马。:)
      

  6.   

    确定出错的地方是var ado_stream = new ActiveXObject("ADODB.Stream");这里?
    确定在linux下的页面和window下是完全一样的?
    没有linux环境试不了,最好能够提供详细的错误信息。
    如果上面两个问题都是YES,那么我觉得可能也是权限的问题。
    另外你说在window下直接打开,是指直接双击html文件打开?而不是通过http方式?如果不是的话你在window下用http方式打开看看http://本机ip(不用localhost)
      

  7.   

    出错的是var ado_stream = new ActiveXObject("ADODB.Stream");这一句
    提示:message: Statement on line 6: Reference to undefined variable: ActiveXObject
    Backtrace:
      Line 6 of inline#1 script in http://www.telwap.cn/wml/check.html
        var ado_stream = new ActiveXObject("ADODB.Stream");
      Line 1 of  script 
        getFileSize();
      At unknown location然后在windows下面,如果我放到tomcat里面用http://打开的话,则有提示:此页正在访问其它域的数据,你允许这样做吗,如果点"是",正常.如果点"否",跟linux上一样.
    问题会出在哪呢?WEB服务器?