ฉันมีกรอบที่เขียนด้วย VBScript ภายในบางฟังก์ชันในพารามิเตอร์เฟรมเวิร์กนี้ของฟังก์ชันจะถูกตรวจสอบสำหรับคำสั่ง Nothing in If จากนั้นการดำเนินการบางอย่างจะดำเนินการ โค้ดที่ใช้กรอบที่เขียนด้วย Javascript ดังนั้นฉันต้องส่ง Nothing to function เพื่อดำเนินการบางอย่าง ใน IE8 และเวอร์ชันก่อนหน้านี้ใช้แนวทางต่อไป:
<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>
ใน IE <9 เอาต์พุตจะ: Nothing, Null, Nothing
ใน IE9: Nothing, Null, Null
ฉันจะส่ง Nothing จาก Javascript ไปยัง VBScript ใน IE9 ได้อย่างไร
ขอโทษนะฉันรู้ว่ามันน่าเกลียด แต่ฉันติดกับดัก และเกลียด VBScript
แก้ไข: มีตัวอย่างของฟังก์ชันกรอบ ไม่สามารถเปลี่ยนได้เนื่องจากมีการใช้กันอย่างแพร่หลายในแอปพลิเคชัน
Function ExampleFunction(val)
If (val Is Nothing) Then
ExampleFunction = 1
Else
ExampleFunction = 0
End If
End Function
ปรับปรุง
ออกจากงาน พบสิ่งที่ดีกว่า
IsObject(val) And val Is Nothing
จะยังคงส่งผลให้เกิดข้อผิดพลาด คุณจะต้องแบ่งออกเป็น If ที่ซ้อนกัน