###前提・実現したいこと
組み込み機器のソフト開発をしています。
この機器には設定用インタフェースとしてWebインタフェースが用意されています。
このWebページはHTTP認証で保護されており、ログイン時にはユーザー名とパスワードが必要です。
Windows7 でこのWebページにアクセスすると、「Windows セキュリティ」ダイアログが表示されます。
この「Windows セキュリティ」ダイアログが表示されたこと、およびこのダイアログでOK/キャンセル/閉じるのいずれかが選択されたことをJavaScriptから知りたいです。
###発生している問題・エラーメッセージ
「Windows セキュリティ」ダイアログで、キャンセルを何度かクリックしてから正しい情報を入力してOKをクリックすると、Webページが一部正しく表示されません。
上記のタイミングを知ることができれば、そのタイミングでlocation.reload()するなど対策が取れると考えています。
###ソースコード
ソースコードは記載できませんが、概要を記載します。
WebページはJavaScriptによって、機器と通信しながら動的に表示しています。
初期表示は window.onload イベントハンドラで表示処理を実装しています。
制限として、JavaScriptでHTTP認証処理自体を実装することはできません。
(技術的にというよりは、工数と工期の問題で難しいだろうと判断しています)
###補足情報(言語/FW/ツール等のバージョンなど)
調べたところ、「Windows セキュリティ」ダイアログをキャンセルすると、そのたびにウィンドウフォーカスが元のWebページに戻り、そのたびにwindow.onloadの中に記述している処理が少しずつ進んでいました。
そして、3回ほどキャンセルするとwindow.onloadの処理は全て終了したことになっていますが、Webページの表示は一部不完全です(=現象の発生)。
たとえばですが、「Windows セキュリティ」ダイアログによるHTTP認証が失敗するか成功するまでの間は処理を停止するようなことができれば、その方法でも解決できそうです。
回答2件
あなたの回答
tips
プレビュー