Ho un framework scritto in VBScript. All'interno di qualche funzione in questo parametro framework della funzione viene verificata l'istruzione Nothing in If e quindi alcune azioni eseguite. Codice che utilizza framework scritto in Javascript. Quindi ho bisogno di passare Niente per funzionare per eseguire alcune azioni. In IE8 e le versioni precedenti lavorato approccio prossimo:Passare niente da Javascript a VBScript in 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>
In IE 9 < uscita sarà: Niente, Null, niente.
In IE9: Niente, Nullo, Nullo.
Come posso passare niente da Javascript a VBScript in IE9?
Scusa, lo so che è brutto, ma sono intrappolato. E odio VBScript.
modifica: C'è un esempio di funzione quadro. Non posso cambiarlo perché è ampiamente usato nell'applicazione.
Function ExampleFunction(val)
If (val Is Nothing) Then
ExampleFunction = 1
Else
ExampleFunction = 0
End If
End Function
Aggiornamento
lavoro abbandonato. Trovato uno migliore.
Small sidenote: VBScript [non ha operatori logici in cortocircuito] (http://msdn.microsoft.com/en-us/library/e8zy95hw%28v=VS.85%29.aspx), quindi istruzione 'IsObject (val) E val Is Nothing' causerà comunque un errore. Dovrai dividerlo in un If annidato. –
@Cheran S: Grazie, ho risolto. – mixel
L'ho chiuso come troppo localizzato per te. In futuro, puoi solo segnalare per farcelo sapere :) –