• 締切済み

alertの最前面表示

お世話になります。 webシステム開発中のものです。 全画面表示の既存システム上に、追加で 状態監視用に別の常時小さな画面を表示させ(window.open)、 ある状態になった場合のみ、alertで知らせて、 全画面表示上のhtmlの中のボタン操作を行いたいのです。 ※状態監視用は5秒おきに <META>タグで、reflresh します。 alertを閉じて、操作する場合は問題ないのですが alertを閉じずに、全画面上の操作を行うと当然、alertは隠れてしまいます。 alertを閉じない限り、次のalertは溜め込まれているようで 以降、alertは全画面に出てこなくなります。(監視用のhtmlのfocusは行っています) それを避けたいのですが、alertを常時全画面表示というのはできないのでしょうか? またはn秒後に自動でalertを閉じることって、できないでしょうか? WScript.ShellのPopupも試しましたが、 設定のタイマー後に、何故か閉じませんでした。 最悪、alertではなく、 window.showModalDialogでメッセージ表示をすれば いいと思うのですが、alert表示でできれば かなりエンドユーザの希望に添えるので 質問させていただきました。 よろしくお願いします。

  • jg1wjz
  • お礼率91% (148/162)

みんなの回答

回答No.2

>alertを常時全画面表示というのはできないのでしょうか? alert()ではなくレイヤー表示(<div>などでダイアログっぽいデザインにして表示する)にしてるならrequestFullScreen()で全画面表示できます。 (全画面表示を終了させないと他のウインドウやアプリケーションにフォーカスを移す事が出来ません。使い方によっては極端なユーザビリティの低下を招きます。) >またはn秒後に自動でalertを閉じることって、できないでしょうか? alert()では不可能です。 上述のようにレイヤー表示しているならタイマーを使って.style.display = 'none'するなどすれば消せます。 もしくは、<meta>を使わずに、 alertを閉じてからタイマーを起動させ、JavaScriptで再読み込みをするという処理順、処理方法にしてみるのはどうですか?

jg1wjz
質問者

お礼

taloo さん、有難うございます。 すみません! 大きな誤入力がありました。 alertを全画面表示ではなく、最前面表示の間違いです! よろしくお願いします。

jg1wjz
質問者

補足

お礼を閉じてしまったので、ここに追加でコメントさせていただきます。 alertを閉じてからタイマー起動、、、というのは alert含む小別窓が隠れてしまった場合を想定すると エンドユーザは気づかないので、監視がとまってしまい、無理なんです。 やっぱり alertでは無理っぽいでしょうか。。。 よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

今回記載されているalertはjavascriptのalertを使っているのでしょうか? それともalert風にポップアップしているだけなのでしょうか? 最低限のデータ表示だけでいいならdivでzindex指定してpopup風の 処理を書けばいいのでは?

jg1wjz
質問者

お礼

yambejp さん、ありがとうございます。 javascriptのalert()です。 調べる時間がなくて申し訳ありませんが zindexはhtml内でのみ有効ではなかったでしょうか? 今回は、もともとのwindowを全画面表示し、 alert()を出すhtmlは別window.openで、左上辺りに小さく表示して状態監視、 ある状態になったら、alert("!"); のように表示します。 alert()を消さないまま、全画面の方の操作を行うと、 alert含む監視画面は全画面の下に隠れてしまい、 状態を知るには、タスクバーにある該当windowをクリックしないとダメです。 が、そういう使い方は運用上、無理なんです。  

関連するQ&A

  • validateForm firefoxでalertが表示されません

    java scriptについて質問です。 ホームページ内のプルダウンメニューで、項目が選択されていない状態で「submit」ボタンが押された場合、「~を選択してください」というメッセージを表示させたいと思います。 そこで以下のようなfunction validateFormを書いたのですが、alertがIEでは表示されるのにfirefoxでは表示されません。 function validateForm() { if (document.form1.Prop1.options.value == 'Error') { alert('Please select aaa.') document.form1.Prop1.focus() return false } if (document.form1.Prop2.options.value == 'Error') { alert('Please select bbb.') document.form1.Prop2.focus() return false } if (document.form1.Prop3.options.value == 'Error') { alert('Please select ccc.') document.form1.Prop3.focus() return false } if (document.form1.Prop4.options.value == 'Error') { alert('Please select ddd.') document.form1.Prop4.focus() return false } if (document.form1.Prop5.options.value == 'Error') { alert('Please select eee.') document.form1.Prop5.focus() return false } } firefoxでもalertを表示させるには、どのようにすればいいでしょうか? 教えてくださいませ。よろしくお願いします。

  • アラート画面が固まる

    ウイルスセキュリティー2005での「プログラムを起動しましたか」というアラート画面が表示されると、画面が固まり操作できなくなります。アラート画面を強制終了すると応答なしの表示が出ます。

  • VBScriptで外部プログラム実行中に「処理中」のダイアログボックスを表示したい

    IPPプリンタを自動的にインストールするスクリプトを作成しています。プリンタドライバのインストールに時間がかかるので、その間に「処理中です。しばらくお待ちください」というダイアログボックスを表示したいのですがどのように実装したら宜しいでしょうか。 具体的には11行目の「WshShell.Run install, 1, True」が実行されてから終了するまでダイアログを表示したいと思っています。 以下作成したスクリプトです ------------------------------------ Option Explicit Dim WshShell Dim install Dim open_window install = "rundll32 printui.dll,PrintUIEntry /b ""プリンタ"" /x /n ""プリンタ"" /if /f ""RCBED12K.INF"" /u /r ""https://192.168.1.1""" open_window = "control printers" Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Popup "プリンタドライバをインストールします。この処理には10秒以上かかる場合があります。しばらくお待ち下さい",10,"インストール" WshShell.Run install, 1, True WshShell.Popup "プリンタドライバのインストールが完了しました。この後自動的に開くウィンドウの中に「プリンタ」のアイコンが表示されていればインストール完了です。",10,"インストール" WshShell.Run open_window WScript.Quit ------------------------------------

  • フォームを最前面に表示したいです。

    VB.NET、WinXPなのですが、 form1のボタンを押して、指定のフォルダを開いた後に 再度そのボタンのあるform1を最前面に表示したいのですが、  System.Diagnostics.Process.Start("C:\WINDOWS")  Me.Activate() などとしてファイルがたくさんあるフォルダを開くと完了まで時間がかかり 次のMe.Activate()の命令が無視されてしまうようで form1がアクティブにならないまま終わってしまいます。 少し待機しようと  System.Diagnostics.Process.Start("C:\WINDOWS")  System.Threading.Thread.Sleep(500)  Me.Activate() とすると正常に開くのですが、ファイルが少なくても 高速なマシンでも一律0.5秒停止してしまうのではなく、 表示が完了されているかどうかを判定するようにしたいのですが、  Dim P As Object P = CreateObject("Shell.application") P.open("c:\windows")  Do While P.Busy = True : Loop などのように待機する方法があったら教えて頂きたいです。↑はエラーになってしまいました。 フォルダを開くコードを  CreateObject("Shell.Application").Open("C:\WINDOWS") に置き換えてみたり、  Me.Focus()やMe.show() などを試してみたのですが、うまくいきませんでした。 毎回申し訳ありませんが、よろしくお願いいたします。

  • DelphiでAlert Windowを表示させるには?

    タイトルの通りですが、Delphiを使ってWindows Live Messenger等に使われている、画面右下の時計ぐらいの位置から現れるウィンドウを表示させるようにしたいのですが、参考になるサイトでもいいので教えてください。 タイトルではAlert Windowと書きましたが、正式な名称もわかってないので、そちらも併せてご指導いただければと思います。

  • サブウィンドウを常に最前面に表示する

    お世話になります、 現在JavaScriptの勉強をしているのですが、以下の問題に突き当たり困っています。 問題1. popup = window.open("subWindow.html","subWindow",'width=200,height=400,scrollbars=1,left=50,top=50, dependent=yes'); メソッドによって表示したウィンドウを常に最前列に表示する方法をご存知の方いらっしゃったら教えていただきたいのですが。 親画面をクリックするとSubWindowが親画面の下に隠れてしまい困っています。 よろしくお願いします

  • VBSで応答不要のメッセージボックスを表示したい

    Kotori_Dと申します。 今回質問したいのは、VBScriptを使い、ある処理を行っている最中にメッセージボックスを表示させ、 操作をしないように呼びかけ、なおかつメッセージ表示中も処理が実行され続けるようにしたいのですが、その方法で困っています。 MsgBox("処理中です。操作しないでください。") この場合、メッセージが出て、OKを押すまで保存は実行されません。 CreateObject("WScript.Shell").Popup "処理中です。操作しないでください。", 0, " 警告" こちらでも、OKを押すまで処理は中断されます。 また、表示時間を指定すると、途中で消えてしまうので、役不足です。 私としては、メッセージは出たままで、処理を継続してほしいのですが、 何かよい方法はないでしょうか? よろしくお願いします。

  • VBScriptで、既に開いているIEを画面の最前面に表示させる

    VBScriptで、既に開いているIEを画面の最前面に表示させる OS:WindowsXP SP3 ブラウザ:InternetExplorer6 期待している機能としましては、IEが開いていない場合は新規にIEを立ち上げ、既に開いている場合は、それを画面の最前面に表示させる(最小化されている場合はそれを解除する)といった感じです。 教えて頂きたいのは、IEを画面の最前面に表示させる方法(最小化の場合はそれを解除)です。 現状のソースを記載します。おかしな点がありましたらご指摘よろしくお願い致します。 Dim objShell Dim objWindow Dim objIE Dim ieFlag ieFlag = False '開いているウィンドウからIEを検索 Set objShell = CreateObject("Shell.Application") For Each objWindow In objShell.Windows If TypeName(objWindow.Document) = "HTMLDocument" Then ieFlag = True Set objIE = objWindow Exit For End If Next 'IEが開いていたらそれを画面の最前面に、そうでないなら新規で開く If ieFlag = True Then 'IEを画面の最前面に又は、最小化解除 Else '新規にIEを開く Set WshShell=Wscript.CreateObject("Wscript.Shell") WshShell.Run("http://www.google.co.jp/") WScript.Sleep(4000) End If

  • VBSからのサーバサイドのEXEの実行

    こんにちはSHIRAOといいます。 WScript.Shellを使用してサーバにあるEXEファイルを 起動しようと思っているのですがどうもうまくいきません。WScript.Shellを使用する時に何か設定しなければならないことがあるのでしょうか? <script language="vbscript"> Function Window_OnLoad : Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "C:\WINDOWS\system32\notepad.exe" : End Function </script>

  • IE7でのwindow.openerがnullになる

    showModalDialogで、子ウィンドウを開き、子ウィンドウからwindow.openerの関数を呼ぼうとしています。Firefoxでは、問題なく呼べるのですが、IE7ですとwindow.openerそのものがnullになってしまいます。 回避策はあるのでしょうか? IE7のバグですかね? 親 window.showModalDialog("hoge.html", this, "スタイル"); 子 var a = window.opener.hoge(); といった形で使用しています。ちなみにこの前にalert(window.opener)を入れたら、見事にnullって表示されました。

専門家に質問してみよう