javascriptコードによるポップアップブロッカーの検出に関する多くの投稿を読みましたが、それでも私が現在抱えている問題に対する答えを見つけることができませんでした。
問題は、ターゲットURLが外部Webサイトである場合、ブラウザ(IE8)がウィンドウオブジェクトへのアクセスを妨げる、つまり、ポップアップを開くことは許可されているにもかかわらず、javascriptコードwindow.open()がnullを返すことです。逆に、サイトのローカルページの場合、javascriptはウィンドウオブジェクトを返します。
したがって、インターネットオプションのどこかに、開いているウィンドウのハンドラーを取得できないようにするセキュリティ設定があるようです。その場合、JavaScriptでそれを検出する方法を知っている人はいますか?
私が使用しているコードは次のとおりであり、この状況を検出できません。
var popup = window.open("http://www.externalsite.com¶m1=value1", "_blank", "");
if (!popup) {
alert('Cannot preview this page because pop-ups are blocked by your browser');
} else {
if (popup != null) { popup.focus(); }
}