• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:処理実行中にボタンを非活性にして待機する)

ブラウザ操作を制限する方法は?

このQ&Aのポイント
  • タイトル:ブラウザ操作制限のための方法
  • 要約1:ボタンの非活性化を使ってブラウザの操作を制限する方法について相談です。
  • 要約2:AJAXを使用してブラウザの操作を制限する方法があるが、自分には時間がかかりそうなので、比較的簡単な方法を教えてほしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • onos
  • ベストアンサー率81% (127/155)
回答No.2

あ、比較的簡単につくるなら ・起動確認のページを表示。  そこでボタンをクリックされたらJavaScriptで画面を操作できないようになんらかの表示変更をしたうえでサーバにリクエストをなげる。 ・サーバーではリクエストを受け取ったら普通に処理を開始。  処理が終了したところで処理完了のページをクライアント側に送る これだけでとりあえず考えられてる処理になるかと思います。 あとはサーバ上での外部ファイルの実行の権限関係は問題ないか、という点と、 多くの人が外部ファイルを実行したときの処理に問題はないか、というあたりが 気にはなりますが。

wendy0303
質問者

お礼

ありがとうございます。 外部実行ファイルはとりあえず多くのユーザーが触るものではないので、 とりあえず的ではありますが ボタン押下時に、 画面内全ボタンdisebled、 (Loginstatusと、huperlinkはdisebledでは無効化できず考え中です) Window.location.hrefで結果画面に遷移。 ここまでをjavascriptで処理し、 結果画面のオンロードで時間の掛かる処理を実行。 それが終わるまでは遷移前の画面(ボタン非活性化)で 待機すると言うとりあえずの目的は果たせています。

その他の回答 (2)

  • WebSurfer
  • ベストアンサー率55% (33/59)
回答No.3

Microsoft ASP での質問ということですから ASP.NET AJAX は使えるのですよね。であれば、以下の URL で紹介した例 ではいかがですか? サンプルもあるので試してみてくださ い。

参考URL:
http://surferonwww.info/BlogEngine/post/2011/05/29/Show-progress-in-ModalPopup.aspx
wendy0303
質問者

お礼

回答ありがとうございます。 自分は大抵、人のコードを真似てみても、 自分の凡ミスや見落としで失敗し、 しかも何処をどう間違えているのか、 理解する前は自分のミスが何処にあるのかも判り難い為 サンプルつきで試せるのは本当にありがたいです。 AJAXを理解する前の、とりあえずの切羽詰った現状での解決は 他の方の回答により得る事が出来ましたが、 WebSurfer様に頂いたサンプルは (VB~C#の違いはありますが) 理解の上で本当に助けとなります。ありがとうございます。

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

時間のかかる処理はサーバー側で行うものですか?それともクライアント側で行うものですか? > プロセス実行中、ボタンを非活性にして待つのは、 > 「JavaScriptで各ボタンのbutton.enabled=False としてから > .vbファイルのbutton_clickイベント内でプロセス実行すれば言いだけでは?」 > という認識の元、 クライアント側の処理ならこれもありでしょうが、セキュリティ的な制限が厳しいですから、プロセス実行させるのは難しいような。 で、処理がサーバー側で行われるものであれば、まずこの認識が誤っていると思います。 > 時間のかかる処理を待つ間ブラウザ操作を制限するのに > 比較的簡単に実現できる方法はないか?と、 簡単に実現できる方法はない、と思っていたほうがよいと思います。 素直にAJAXについて学習することがおすすめかな。 まず最初にWebアプリでサーバー上の処理とクライアントでの処理がどのようなタイミングでどう発生するか、といったところをきちんとおさえることをおすすめします。

wendy0303
質問者

お礼

Onos様、お世話になっております。 プロセスはサーバー側です。 配置したpowershellを実行しています。 ですので、ご指摘頂きました認識誤りをしておりました。 1,起動確認画面 2,実行中です と表示するだけの画面 3,結果画面 と、分けまして、2で先に実行中ですと表示させてから、 (オンロードでない) クライアントに自動でプロセス起動のリクエストを実行させ・・・ 等と考え、 どうやってそんなことをするのか? 出来たとして、自動でsubmit する画面を作るのか? と、違和感を覚える始末です。 ご助言のとおり、ajaxを学習して見ます。 解決後、報告致します。