Ho un framework scritto in VBScript. All'interno di alcune funzioni in questo framework viene controllato il parametro della funzione per l'istruzione Nothing in If e quindi vengono eseguite alcune azioni. Codice che utilizza framework scritto in Javascript. Quindi devo passare Nothing per funzionare per eseguire alcune azioni. In IE8 e nelle versioni precedenti ha funzionato il prossimo approccio:
<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>
In IE <9 l'output sarà: Nothing, Null, Nothing.
In IE9: Nothing, Null, Null.
Come posso passare niente da Javascript a VBScript in IE9?
Scusa, so che è brutto, ma sono intrappolato. E odio VBScript.
modifica: c'è un esempio di funzione framework. Non posso cambiarlo perché è ampiamente utilizzato nell'applicazione.
Function ExampleFunction(val)
If (val Is Nothing) Then
ExampleFunction = 1
Else
ExampleFunction = 0
End If
End Function
Aggiornare
Hai lasciato il lavoro. Ne ho trovato uno migliore.
IsObject(val) And val Is Nothing
risulterà comunque in un errore. Dovrai dividerlo in un If annidato.