Tengo un marco escrito en VBScript. Dentro de alguna función en este marco, el parámetro de la función se marca para Nothing en If y luego se ejecutan algunas acciones. Código que usa framework escrito en Javascript. Entonces, necesito pasar Nothing para funcionar para realizar algunas acciones. En Internet Explorer 8 y versiones anteriores trabajado enfoque siguiente:No pasar nada de Javascript a VBScript en IE9
<script type="text/vbscript">
Function Test(val)
If (IsNull(val)) Then
Test = "Null"
ElseIf (IsObject(val)) Then
If (val Is Nothing) Then
Test = "Nothing"
End If
End If
End Function
Dim jsNothing
Set jsNothing = Nothing
msgBox(Test(jsNothing))
msgBox(Test(Null))
</script>
<script type="text/javascript">
alert(Test(jsNothing));
</script>
En IE < 9 es la salida: Nada, Null, Nada.
En IE9: Nothing, Null, Null.
¿Cómo puedo pasar nada de Javascript a VBScript en IE9?
Lo siento, sé que es feo, pero estoy atrapado. Y odio VBScript.
editar: Hay un ejemplo de función de marco. No puedo cambiarlo porque es ampliamente utilizado en la aplicación.
Function ExampleFunction(val)
If (val Is Nothing) Then
ExampleFunction = 1
Else
ExampleFunction = 0
End If
End Function
actualización
trabajo abandonado. Encontré uno mejor.
Pequeña nota al margen: VBScript [no tiene operadores lógicos en cortocircuito] (http://msdn.microsoft.com/en-us/library/e8zy95hw%28v=VS.85%29.aspx), por lo que La declaración 'IsObject (val) Y val Is Nothing' todavía dará como resultado un error. Tendrás que dividirlo en un Si anidado. –
@Cheran S: Gracias, lo arreglé. – mixel
Cerré esto como demasiado localizado para usted. En el futuro, puedes marcar para decirnos :) –