不过我想到一个方法可以间接调用如
<script language=vbs>
 sub test_vb()
  ......
 end sub
</script>
<script language=javascript>
function test() {
 form1.test.onclick(); //这样就等于调用了VBS
}
</script><form action="" method="post" name=form1 id=form1>
<input type="button" name="test" onclick="test_vb()">
</form>

解决方案 »

  1.   

    <script language=javascript>
    var aaa; //定义一个页面级全局变量
    </script><script language=vbscript>
    aaa = 1111 'VBS对其赋值
    sub msg(str)
      msgbox "这是VBS的提示框 "& str, 8, "VBS"
    end sub
    </script><script language=javascript>
    function jsFunc()
    {
       alert("这是JS的提示框\r\n且JS定义的全局变量已经被VBS更改")
       msg(aaa); //调用VBS的自定义函数
    }
    </script><input type=button value=ok onclick="jsFunc()">
      

  2.   

    meizz(梅花雨) : 这只能是使用变量,这个问题是函数如何处理?
      

  3.   

    我上面的那个例子里不是已经在JS里调用了VBS的函数了吗? msg(aaa)
    反之VBS调用JS的也一样,直接调用即可.
      

  4.   

    <script language="vbscript">
    function JSLenB(str)
        JSLenB = LenB(str)
    end function
    </script>
    <script language="javascript">
    var a = "吃饭了没有?"
    alert("字符长:"+a.length)
    alert("字节长:"+JSLenB(a))
    </script>
      

  5.   

    <script language="vbscript">
    redim a(2)
    a(0) = "hello"
    a(1) = "world"
    a(2) = "hello world!"
    </script>
    <script language="javascript">
    var b = a.toArray()
    for (var i=0;i<b.length;i++){
        alert(b[i])
    }var c = new Array("hello","world","hello world!")
    </script>
    <script language="vbscript">
    for each d in c
    alert d
    next
    </script>
      

  6.   

    <SCRIPT LANGUAGE="vbscript">
    dim x
    x = "abc"
    sub vbf(y)
     x = y
    end sub
    </SCRIPT>
    <SCRIPT LANGUAGE="JavaScript">
    alert(x);
    function jsf(y)
    { x = y;
    }
    vbf("js calling vbs");
    alert(x);
    </SCRIPT>
    <SCRIPT LANGUAGE="vbscript">
    x = "efg"
    msgbox x
    jsf "vbs calling js"
    msgbox x
    </SCRIPT>