早期撰寫的 ASP 網頁在他人電腦正常執行,但在自身機器卻出現「物件不支援此屬性或方法」錯誤,實為 IE 未正確解析 VBScript 所致。經排查發現,問題源於 VBScript 函式定義與呼叫時省略括號的寫法。
sub nextmonth
m1 = mid(form1.cxny.value, 5, 2)
y1 = mid(form1.cxny.value, 1, 4)
' ... 邏輯處理 ...
document.form1.submit
end sub
' 網頁中呼叫
nextmonth
sub nextmonth()
m1 = mid(form1.cxny.value, 5, 2)
y1 = mid(form1.cxny.value, 1, 4)
' ... 邏輯處理 ...
document.form1.submit
end sub
' 網頁中呼叫
nextmonth()
Sub / Function 定義時必須加上括號 (),即使無參數。()。修正後,網頁即可正常運行。這提醒我們:雖然舊版 IE 容許寬鬆語法,但新版或特定環境下會嚴格檢查,遵循標準語法才能確保相容性。