客户端VBScript和JavaScript相互调用的问题
以前在CSDN碰到一个问题,一个人问VBScript如何调用ajaxpro注册的方法,对这种需求真的很无语。。。。
由于ajaxpro在客户端注册的脚本是JavaScript的,但是JavaScript无法调用VBScript注册的函数或者过程,只能访问VBScript注册的变量,VBScript可以调用JavaScript注册的变量或者方法,所以VBScript使用ajaxpro的异步功能时,需要传递回调函数,如果传递的是VBScript的function函数,会出错“由于出现错误 80020102 而导致此项操作无法完成”的错误。
要解决这个问题,可以在VBScript传递JavaScript的回调函数,而不是VBScript的回调函数。反正变量是可以相互访问的,这样通过修改同一个全局变量就可以实现了。或者改为同步执行的,这样不需要传递回调函数。
JavaScript无法调用VBScript注册的函数或者过程,只能访问VBScript注册的标量,VBScript可以调用JavaScript注册的变量或者方法的测试代码如下
原创文章,转载请注明出处:客户端VBScript和JavaScript相互调用的问题
由于ajaxpro在客户端注册的脚本是JavaScript的,但是JavaScript无法调用VBScript注册的函数或者过程,只能访问VBScript注册的变量,VBScript可以调用JavaScript注册的变量或者方法,所以VBScript使用ajaxpro的异步功能时,需要传递回调函数,如果传递的是VBScript的function函数,会出错“由于出现错误 80020102 而导致此项操作无法完成”的错误。
要解决这个问题,可以在VBScript传递JavaScript的回调函数,而不是VBScript的回调函数。反正变量是可以相互访问的,这样通过修改同一个全局变量就可以实现了。或者改为同步执行的,这样不需要传递回调函数。
JavaScript无法调用VBScript注册的函数或者过程,只能访问VBScript注册的标量,VBScript可以调用JavaScript注册的变量或者方法的测试代码如下
+展开
-HTML
<script type="text/javascript">
var jsvar = "jsvar";
function funjs() {alert('JS方法');}
script>
<script type="text/vbscript">
dim vbsvar
vbsvar="vbsvar"
function funvbs
msgbox "vbs方法"
end function
sub subvbs
msgbox "vbs过程"
end sub
script>
<script type="text/vbscript">
alert typename(funjs)'输出JScriptTypeInfo
alert typename(jsvar)'输出String
script>
<script type="text/javascript">
alert(typeof funvbs); //输出unknown
alert(typeof subvbs); //输出unknown
alert(typeof vbsvar); //输出string
script>
var jsvar = "jsvar";
function funjs() {alert('JS方法');}
script>
<script type="text/vbscript">
dim vbsvar
vbsvar="vbsvar"
function funvbs
msgbox "vbs方法"
end function
sub subvbs
msgbox "vbs过程"
end sub
script>
<script type="text/vbscript">
alert typename(funjs)'输出JScriptTypeInfo
alert typename(jsvar)'输出String
script>
<script type="text/javascript">
alert(typeof funvbs); //输出unknown
alert(typeof subvbs); //输出unknown
alert(typeof vbsvar); //输出string
script>
加支付宝好友偷能量挖...
原创文章,转载请注明出处:客户端VBScript和JavaScript相互调用的问题