私はvbscriptが初めてで、読んでいるときにいくつかのコードを見つけました
Do While ie.busy
stateString = stateString & " " & cstr(ie.readystate)
loop
do while ie.readystate <> 4
stateString = stateString & " " & ie.readystate
loop
property
ビジーとreadystate
プロパティの違いを教えてください。
私はvbscriptが初めてで、読んでいるときにいくつかのコードを見つけました
Do While ie.busy
stateString = stateString & " " & cstr(ie.readystate)
loop
do while ie.readystate <> 4
stateString = stateString & " " & ie.readystate
loop
property
ビジーとreadystate
プロパティの違いを教えてください。
ここから:
マイケル・ハリス (MVP) は次のように書いています。
[...]
do until ie.readyState = 4 : wscript.sleep 10 : loop
[...]
Is there a reason to use
do until ie.readyState = 4 : wscript.sleep 10 : loop
instead of
While ie.Busy : WScript.Sleep 10: Wend
[...]
さまざまな IE 自動化シナリオでの過去の経験に基づいて、IE.Busy はドキュメントの完全に読み込まれた状態を判断する上で 100% 信頼できるわけではないことがわかりました。.ReadyState が最終的に 4 (完了) に到達する前に、状況によっては .Busy が true/false/true/... を振動するように見えました。
その振動動作は、現在のバージョンで修正されたバグであった可能性がありますが、Busy の説明は以前よりも改善されている可能性が高いようです (少なくとも、何年も前に読んだことを思い出す限り)。IE がナビゲーションまたはダウンロードでビジー状態であることを単純に述べており、DOM が構築され、ページがブラウザ UI で実際にレンダリングされるときにドキュメント自体が通過するさまざまな状態との関連については何も明示的に述べていません。
.Busy ではなく .ReadyState を使用することで回避される問題は、不完全な DOM でアクセス/操作しようとするスクリプトでスローされるエラーです。