VBScriptでDocumentとdocumentは何か違うのか?
仕事の都合上vbscriptをしているが、そこで謎の発見があった。
IE9 or IE10でDocumentだとallがないが、documentだと使える。
(IE8以前は両方使える)
不思議なことに先にdocumentを使用するとDocumentもallが使えるようになり、
先にDocumentを使用するとdocumentでallが使えなくなる。
以下で再現可能
test.html
<!DOCTYPE HTML> <HTML> <HEAD> <meta http-equiv="x-ua-compatible" content="IE=9"> <SCRIPT type="text/vbscript" src=".\uppercase.vbs"></SCRIPT> <SCRIPT type="text/vbscript" src=".\lowercase.vbs"></SCRIPT> </HEAD> <BODY> <input id="id" type="text"> <input type="button" onclick="vbscript:uppercase()" Value="Document"> <input type="button" onclick="vbscript:lowercase()" Value="document"> </BODY> </HTML>
uppercase.vbs
Function uppercase() Msgbox(Document.all("id").value) END Function
lowercase.vbs
Function lowercase() Msgbox(document.all("id").value) END Function
Documentボタンをクリックしても何も表示されないし、その後にdocumentボタンをクリックしても何も表示されない。
が、documentボタンを先にクリックするとテキストボックスに入力された値が表示され、その後にDocumentボタンをクリックしても表示される
Documentとdocumentで最初にロードされる型が違って、その後は大文字小文字の区別なく同じ型が呼び出されるってことなのかな?