0

IE10 でいくつかの vbscript をデバッグする必要があります。このスクリプトは Microsoft リモート デスクトップ ActiveX コントロールを起動し、IE9 まではまったく問題なく動作しました。IE10 (非互換モード) では、「オブジェクトはこのプロパティまたはメソッドをサポートしていません: 'Document.getElementById'」というエラーがスローされます。

コードの関連セクションは

sub OnControlLoad
   set Control = Document.getElementById("MsRdpClient")
   if Not Control is Nothing then
      if Control.readyState = 4 then
         Document.all.connectButton.disabled = FALSE
      end if
   end if
end sub

ID MsRdpClient を持つオブジェクトは

<OBJECT language="vbscript" ID="MsRdpClient"
onreadystatechange="OnControlLoad"
CLASSID="CLSID:9059f30f-4eb1-4bd2-9fdc-36f43a218f4a"
CODEBASE="msrdp.cab#version=5,1,2600,1095"
WIDTH=800
HEIGHT=600>
</OBJECT>

次のような非常に単純なスクリプトでテストしました

<script language="VbScript">
Function btnCheck_OnClick()
    MsgBox ("test")
    MsgBox (Document.getElementById("txtName").Value) 
End Function

</script>

<form name="form1" method="post" action="">
<input type="text" name="txtName" id="txtName" value="TEST">
<input type="button" name="btnCheck" value="GetValue">
</form>

これにより、IE10 非互換モードで同じエラーがスローされます (オブジェクトはこのプロパティまたはメソッドをサポートしていません: 'Document.getElementById') が、IE10 互換モードと IE9 では正常に動作します。vbscript のドキュメント オブジェクトで getElementByID メソッドが使用できない理由と、さらに重要なことに、それを回避する方法を知っている人はいますか?

4

1 に答える 1

2

ドキュメントではなく、ドキュメントです。古いバージョンの IE の動作が正しくないのではないかと思います。

MDN

于 2013-10-10T10:55:47.083 に答える