- 締切済み
HTAが黙ってしまう
HTAを使ってスクリプトを書いています。 スクリプトが動いている時は画面が一切更新されない、黙ってしまうのは、ネットを見ると避けられないようです。 せめて、何らかの方法で実行状態を表示できないでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hitomura
- ベストアンサー率48% (325/664)
Windows のスクリプト関連で困ったことがあったらこう叫ぼう。 Hey, Scripting Guy! ……というわけで、マイクロソフトのスクリプト関連のページを検索してみたら以下のようなページが見つかりました。ご参考までに。 Hey, Scripting Guy! HTA で時間のかかる処理を実行しているときにメッセージを表示したりカーソルの表示を変更したりする方法はありますか https://gallery.technet.microsoft.com/scriptcenter/1b1ca284-69cf-4c33-a77b-7edee0f515a7
- fujillin
- ベストアンサー率61% (1594/2576)
ANo1です。 タイポがありました。 m(__)m <hta:application applicationname="test")</hta:application> ↓ <hta:application applicationname="test"></hta:application> ですね。
- fujillin
- ベストアンサー率61% (1594/2576)
こんにちは。 よくわかってませんけれど、通常のHTMLでのアニメーションやなにかと同様に、アプリケーションに処理を一旦戻してあげれば良いのでは? 処理を必要に応じて分割しなければならなくなるので、面倒と言えば面倒ですが… ごく簡単なアニメーションの例(htaで実行してみてください) (全角空白は半角に) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <hta:application applicationname="test")</hta:application> <style type="text/css"> p { margin-bottom:0.5em; } #bar { width:300px; height:20px; border:1px solid #666; border-color: #444 #DDD #DDD #444; } #bar div { width:0; height:100%; background-color:#8AE; } </style> </head> <body> <p><input type="button" value="start" onclick="hoge()"> ← Click to start <div id="bar"> <div></div> </div> <script type="text/javascript"> var hoge = (function(){ var grad = 0, tId; var bar = document.getElementById("bar"); var max = bar.clientWidth; bar = bar.getElementsByTagName("div")[0]; return function(){ if(!tId) tId = setInterval(fuga, 30); } function fuga(){ if(grad>=max){ clearInterval(tId); tId = null; alert("PROCESS ENDED !"); } bar.style.width = ++grad + "px"; } })(); </script> </body> </html>
お礼
返答ありがとうございます 実行して見ました。 プログレスバーですね。 私の質問に具体性が無かったです。 例えば、 for (var i=0; i < 1000; ++i) { 処理 } は時間が掛かります。”処理”に画面の変化が含まれていても、表面上、何も変わりません。 変わらなくてもいいのですが、せめてiの現在値を何らかの方法で知りたいです。 画面にiを表示するコードを書いても、画面全体の更新が止まっているので、当然表示されません。 ご提示のコードを使うと表示できるのですか。
お礼
返答ありがとうございます ご提示のホームページに行き、在中のコードを試しました。 しかし動作しませんでした。 残念です。