J'ai un framework écrit en VBScript. À l'intérieur d'une fonction dans ce paramètre de cadre de la fonction est vérifié rien dans l'instruction If, puis certaines actions exécutées. Code qui utilise un framework écrit en Javascript. J'ai donc besoin de passer Nothing pour fonctionner pour effectuer certaines actions. Dans IE8 et les versions antérieures, l'approche suivante fonctionnait:
<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>
Dans IE <9, la sortie sera: Nothing, Null, Nothing.
Dans IE9: Nothing, Null, Null.
Comment puis-je passer Nothing de Javascript à VBScript dans IE9?
Désolé, je sais que c'est moche, mais je suis piégé. Et déteste VBScript.
edit: Il existe un exemple de fonction de cadre. Je ne peux pas le changer car il est largement utilisé en application.
Function ExampleFunction(val)
If (val Is Nothing) Then
ExampleFunction = 1
Else
ExampleFunction = 0
End If
End Function
Mettre à jour
Travail abandonné. J'ai trouvé un meilleur.
IsObject(val) And val Is Nothing
entraînera toujours une erreur. Vous devrez le diviser en un If imbriqué.