2012-02-28 9 views
-1

あるイベントでブラウザの新しいウィンドウ(新しいタブではない)を開く方法を教えてもらえますか?この新しいウィンドウは前景に残りますが、&はブラウザのバックグラウンドで残ります。また、フォアグラウンドブラウザが閉じられるまで、ユーザーはバックサイドブラウザにアクセスできません。フロントウィンドウを閉じると、ユーザーは再びバックウィンドウをブラウズできます。新しいブラウザウィンドウを開いて後ろのウィンドウを無効にする方法

おかげ

+2

できません。モーダルダイアログでは、 'alert()'、 'confirm()'、 'prompt()'を使うか、多くのフレームワークで提供されているウィンドウ内のソリューションを使う必要があります。 – Bergi

答えて

0

(1)あなたは本当に、場合は、ブラウザタブ/ウィンドウを参照していることができます。あなたは、これは最終的には、ブラウザでのユーザーの好みではなく、HTMLを通じて保証することができるものとなり、新たなブラウザタブまたは新しいブラウザウィンドウを開くかどうかは

<a href target="_blank" href="...">...</a> 

設定することができます。

同様に、ユーザーがいずれかの任意のブラウザバックボタンやブラウザウィンドウを操作することになってどのように強制することはできません。


あなたはHTMLタブ/ウィンドウを参照している場合(2)を、あなたはmodalを使用することができます。モーダルは通常、他のhtmlの上に表示されるhtmlコードのセットです。通常、z-indexを使用して背景をグレー表示します。

1

あなたの要件は、新しいタブでやりたいことのように私には聞こえません。新しいタブ(および新しいウィンドウ)は、親ウィンドウがアクティブになるのを必ずしもシャットダウンする必要はありません。これにより、ユーザーがウィンドウを閉じるまで、そのブラウザーで開いている他のタブにアクセスできないことが判明した場合、ユーザーに不満が生じます。

また、一部のブラウザでは、これをまったく行うことができません。あなたが話している動作を保証する最良の方法は、ユーザーが対話したくないページのすべての要素を無効にすることです。オーバーレイ要素(大きなdiv)を透明な灰色の色で作成し(背後にある要素を無効にする)、「モーダルダイアログ」要素をフォアグラウンドに配置します。それはページロードなどを心配する必要はありませんでした。

このようにすることの大きな利点は、クロスブラウザと互換性があることです。

これはIFrameを使用する前に行われています。

それでもモーダルダイアログをポップアップしない方法を知っておく必要がある場合は、それがどのようにについてthis linkでより多くの情報があり

window.showModalDialog()

を使用してIEで行うことができますブラウザの互換性をチェックすることはできますが、他のブラウザの問題は解決しません。

関連する問題