Tôi có một khung được viết bằng VBScript. Bên trong một số hàm trong tham số khung này của hàm được kiểm tra cho câu lệnh nothing in If và sau đó một số hành động được thực thi. Mã sử dụng khung được viết bằng Javascript. Vì vậy, tôi cần phải vượt qua Không có gì để hoạt động để thực hiện một số hành động. Trong IE8 và các phiên bản trước đã hoạt động cách tiếp theo:
<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>
Trong IE <9 đầu ra sẽ: Không có gì, Không, Không có gì.
Trong IE9: Không có gì, Null, Null.
Làm cách nào tôi có thể chuyển Không có gì từ Javascript sang VBScript trong IE9?
Xin lỗi, tôi biết nó xấu, nhưng tôi bị mắc kẹt. Và ghét VBScript.
chỉnh sửa: Có một ví dụ về chức năng khung. Tôi không thể thay đổi nó vì nó được sử dụng rộng rãi trong ứng dụng.
Function ExampleFunction(val)
If (val Is Nothing) Then
ExampleFunction = 1
Else
ExampleFunction = 0
End If
End Function
Cập nhật
Bỏ việc. Tìm thấy một tốt hơn.
IsObject(val) And val Is Nothing
vẫn sẽ dẫn đến lỗi. Bạn sẽ phải chia nó thành một If lồng nhau.