• 締切済み

ポップアップブロックの解除について

あるwebシステムですが、 ログイン後、メニューバーなどを表示させないようwindow.openにて次の画面を表示させ、 親画面を消しています。 その画面上での機能の中に、メッセージを表示し、(例えば)OKだったら、 別に小さいサイズでwindow.openし、画面を表示する個所があります。 本日、そこの確認を行っていたのですが ポップアップブロックされ、小さな画面を表示できませんでした。 表示できないのはいいのですが、その後、 もともとの画面のボタンが全て機能しなくなってしまいました。 (通常はボタンをクリックして前の画面に戻ったり、保存したりできます) 仕方なく、右上「×」で画面を消しました。 (下記にありますように、自前の警告を無視して終了しました) ポップアップブロックの解除方法はわかりますので、 いろいろ設定してポップアップを有効にすればいいのですが 問題は、そのポップアップブロックの確認の際に、 ポップアップを許可するのを、間違えてそのままブロック状態にしてしまった時です。 その画面(window)ではメニューバーやツールバーは全て表示していません。 最悪、右上の「×」を押すと、「警告」メッセージを表示させ(自前)、 画面を消すことができますが、本来はデータの互換性を保つために その状態では「×」で終わるのではなく、 ちゃんと画面上の「戻る」や「終了」で終わらせてほしいので・・のメッセージです。 ※警告しても、そのまま強制終了できるので確実ではないのですが、予防策として・・・。^^; そこで質問なんですが ポップアップブロックしてしまった際(?)に、なんらかのキーにて 他のボタン等のイベント処理が動くようにはできないでしょうか? 因みに JavaScriptでF5やCTRL+D、N、alt+→キー・・・など、全て無効にしています。 これらを無効にしているせいもあっての、今回の問題でもあるのでしょうが。 小さいwindowを表示させる際に CTRLを押しながらボタンを押せば、 ポップアップはブロックされずに画面を表示できるのですが、 それは「後の祭り」なんです。 IE7のブラウザはデフォルトがポップアップブロックになっているとの事、 リリース間近でちょっと冷や汗ものです。 どなたかアドバイスをお願いいたします!

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

A No1です。 別ウィンドウを否定するつもりはまったくないのですが… >隠れてしまった入力域にも別窓の表示を見ながら入力できるようにしています 入力アシスト用の表示部分をドラッガブルにしておけば、ほぼ同様にできるのではないでしょうか? (使える範囲がスクリーン全体とウィンドウサイズという違いはありますが…) >小さいといっても、左側1/3くらい使っていてサイズの変更はできるようにしてあります 内容がよくわかっていないので的外れかも知れませんが… まとめて表示しなくても、項目別にサジェストをだすとか、世の中に似たような例はいろいろあるのではないかと思います。 サジェスト表示 http://www.itmedia.co.jp/news/articles/1009/08/news055.html バルーン・ヒントなど http://myakura.github.com/n/placeholder.html ひょっとしたら、プレースホルダー程度でもいけるのかも… http://myakura.github.com/n/placeholder.html

jg1wjz
質問者

お礼

ありがとうございます。 詳しい内容を記述していなかったので申し訳ありません。 このシステムは5年以上前に開発されたパッケージのようなもので、大幅な改造費用はいただけないので、別窓を使用しないような変更はできないのが現状です。操説の変更も入りますし。^^; 少し詳しく書かせていただきますと 1分単位での予約処理になります。枠が決まっていまして、予約しようとした範囲と枠数に空き枠が無い場合に、 予約した内容の時間帯の予約状況を表示させています。(これが別窓表示です) 予約者はそれを見て、どの範囲が満杯だったのか、どの時間範囲なら空いているのか、枠はどのくらいなら空いてるのか、を見て予約内容を変更します。 いろいろな方法があると思いますが、開発当時はこのような機能仕様であり、現在に至っています。 ですので、別の方法ではなく現状での解決方法をアドバイスいただけますと幸いです。 よろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

直接の回答ではありませんし、いまさらかも知れませんが… >別に小さいサイズでwindow.openし、画面を表示する個所があります 小さなものでしたら別画面にせずに、同じページ内で<div>などを用いて別ウィンドウ風に表示すれば、ご質問のような状況にならないのではないでしょうか。 方法のイメージとしては、画像拡大などでよく利用されている、LightBoxなどのような方法です。

jg1wjz
質問者

お礼

アドバイス有難うございます。 この機能は、フルに表示している入力画面を登録した際に登録できない結果になった場合に参考として、登録できる内容を表示する機能です。特に必須の表示ではないのですが その画面を見ながら、入力内容を変更します。 同一画面上ではスペースはないし、別窓の画面は移動させて、隠れてしまった入力域にも別窓の表示を見ながら入力できるようにしています。 小さいといっても、左側1/3くらい使っていてサイズの変更はできるようにしてあります。 引き続き、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう