IE操作(読込完了待ち)の拡張について
いつも利用させていただいております。
標題の件、従来のIE操作(読込完了待ち)のライブラリにちょい足ししてみました。
と申しますのも、弊社で使用しているクラウドストレージが通常のIE操作(読込完了待ち)では待ってくれず、どうやらbusyやreadyStateでは読み込み状態をきちんと把握できていないようでした。
こちらのフォーラムにインナーフレーム毎にチェックする技も投稿されていたのですが、そもそもreadyStateが機能していないため活用できない状況でした。
そこで考えたのですが、IEの全要素数を3秒毎にカウントして3秒前の数と一致したら読み込み完了という拡張コードを加えてみました。
↓をIE操作(読込完了待ち)のスクリプトの一番下に加える。
elem1=0
elem2=1
Do While elem1 <> elem2
elem1 = wnd.document.all.length
WScript.Sleep(3000)
elem2 = wnd.document.all.length
Loop
3秒では足りない場合もあるのかも知れませんが、あくまでこちらのコード自体が保険ということでご容赦いただければと思います。
次のノードが成立するかどうかで、例外処理ループで待機していただいても全然代替できると思いますが、一応作ってみた次第です。
絶えず要素数が変化して無限ループしてしまうなどリスクもあるかも知れませんのでご使用される場合は自己責任でお願いします。
他にも考えられるリスク等ございましたらコメント等宜しくお願い致します。