none
IEのポップアップブロックをASP.netで確認する事は可能でしょうか。 RRS feed

  • 質問

  • Visual Studio 2005(ASP.net)で作成しています。

    ログイン画面でユーザー名とパスワードを入力して[認証]ボタンを押下すると下記のJavaScript(window.open)でメニュー画面を表示しています。
    ※JavaScriptを使用している理由はブラウザのメニューバー等を制御する為です。

    実装したいのはログイン画面を表示した際にIEの「ポップアップブロック」の設定が有効になっているかを確認して、無効になっている時のみ下記のようなメッセージをJavaScriptのメッセージボックス(Alert)を表示する事は可能でしょうか。
    ・ポップアップブロックを有効にして下さい。

    できる、できないでも何でも構いませんのでアドバイスいただけませんでしょうか。
    宜しくお願いします。

    2011年1月18日 1:07

回答

  • 私が言いたかったことと同じような内容が以下にありました。

    ポップアップブロックの感知について
    http://otd8.jbbs.livedoor.jp/javascript/bbs_tree?base=14395&range=1

    基本的には、そのWebアプリを使う際の注意として、そのサイトのホップアップブロックを解除して下さいなどと謳うか、ホップアップを出さないような作りにすることになると思います。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク TOKYO_03 2011年1月18日 10:38
    2011年1月18日 2:18
    モデレータ

すべての返信

  • メニュー画面を出すために、ポップアップブロックを無効にしたいということではないのでしょうか??? もし、そうだとすれば、ボップアップブロックが有効な時にAlertが出せるのであれば、煩わしいポップアップを抑制する意味が薄れてしまうと思います。また、ポップアップブロックはIEに限ったことではなく、IEにインストールされるツールバーやセキュリティソフトなどにもあります。それらを全て確認することは不可能に近いのではないかと思います。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    2011年1月18日 1:17
    モデレータ
  • 回答ありがとうございます。

    すみません、混乱してわからなくなってしまったのでちょっと教えて下さい。

    今回、ログイン画面でユーザー名とパスワードを入力して[認証]ボタンを押下した際にJavaScript(window.open)でメニュー画面が表示できなかったのでIEの「インターネット オプション」→「プライバシー」→「ポップアップ ブロック」の「ポップアップをブロックする」にチェックをし、[設定]ボタンを押下して「許可されたサイト」にドメインを追加して再度、ログイン画面から認証したらメニュー画面が表示されました。

    なのでユーザーのPCのIEの設定をしてもらう必要がある為、ログイン画面を表示したと同時に上記の設定がされているかを確認できないかと思っています。

    こういう場合はどのような事を実施するのが一般的なのでしょうか。

    こんな質問をして大変、申し訳ありませんがご教授、お願いできませんでしょうか。

    宜しくお願いします。

     

    2011年1月18日 2:04
  • 私が言いたかったことと同じような内容が以下にありました。

    ポップアップブロックの感知について
    http://otd8.jbbs.livedoor.jp/javascript/bbs_tree?base=14395&range=1

    基本的には、そのWebアプリを使う際の注意として、そのサイトのホップアップブロックを解除して下さいなどと謳うか、ホップアップを出さないような作りにすることになると思います。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク TOKYO_03 2011年1月18日 10:38
    2011年1月18日 2:18
    モデレータ
  • ASP.NET(サーバ側)では取得できませんが、JavaScript側では取得できますよ。

    IE限定なのですが、window.openの戻り値がnullになります。そのときは警告をAlertすればいいんじゃないでしょうか。

    もっとも、これは一般的なやり方ではないかと思います。window.openを使ってまでメニューバーを消すというのはウェブアプリの作法ではありません。

    ではどうするのが作法かというと、IE限定でブラウザ操作を拒否するリッチなクライアントを作ろうとしているのだから、ActiveX一択でしょう。

    2011年1月18日 2:20