2011-08-02 12 views
2

問題は、target = "_ blank"のリンクがあり、このリンクをクリックしてwindow.open()を作成するハンドラがある場合です。 JSで呼び出されたポップウィンドウが表示されますが、リンクはIEの新しいタブで開かれません(9バージョンは確かにテストされました)、IEのポップアップブロッカーによってブロックされます。
他のすべてのブラウザは、新しいタブとポップアップウィンドウの両方のリンクを開きます。回避策はありますか?window.open()とtarget = "_ blank"がIEで一緒に動作しない

+0

サンプルコードを投稿できますか?あなたの説明に従わない100%... – Brian

+2

あなたは両方を開けたいですか? – mplungjan

+0

彼はwindow.openで彼自身の "リンクオープナー"を実装したいと思います。 – ComFreek

答えて

1

Chromeはこれを許可していますが、IE9はこの動作をデフォルトでブロックします(fiddle)。しかし、これはポップアップブロッカーからの正当な応答のようです。私は、ほとんどのユーザーが、ハイパーリンクが2つの新しいウィンドウを同時に開くことを期待している(またはそうしなければならない)のだろうかと疑う。

あなたのユーザーは、あなたのサイトからのポップアップを許可するために、IEのポップアップブロッカー設定を確実に変更することができます。

[更新] window.open()にタイムアウトと

テストは、それがリンクのHREFまたは結果のかどうかに関係なく抑制される第二の窓は確かだと思われるwindow.open()fiddle)です。

+0

私は、通常の動作よりもポップウィンドウをブロックすることではなく、リンクを開く(ターゲット_blankでさえも)と思う。残念ながら、ユーザーにポップアップブロッカーを変更させることは、良い選択ではなく、問題を解決することではありません。 IEがポップウィンドウをブロックした場合、正常ではないとは言えませんでした。 – elisium

+0

あなたはそれを言うが、クリックハンドラ、_window.open()_は、ブラウザがhref ...にナビゲートする前に処理されるので、最初のウィンドウ以外で開いたウィンドウは、ポップアップとして扱われる抑制された。 – canon

+0

私はそれを理解していますが、どのブラウザがどのようにしてポップアップとして通常のリンクオープンを扱うことができるのでしょうか。とにかく、両方のリンクを強制的に開く方法が必要です。 – elisium

関連する問題