IEのポップアップオブジェクトは、個別のドキュメントを持つ別々のウィンドウであり、フォーカスを取ることができず、ナビゲートできません。私の推測では、とにかくポップアップウィンドウをナビゲートしたくない場合は、おそらくポップアップのオープナーをナビゲートしたいと思うでしょう。
var myPopup = window.createPopup();
// Make a connection between the popup and the current window
myPopup.document.parentWindow.owner = window;
を次に、あなたのHTMLやJavaScriptコードでは、所有者を作るためにリンクにイベントハンドラを追加します。あなたが使用できる1つのトリックは、あなたがポップアップオブジェクトを作成するときに、親ウィンドウへの参照を設定することですウィンドウには、指定されたhref
に移動します。
<a href="test.html" onclick="owner.location = this.href;">test</a>
を別の方法として、あなたはDOMを経由してリンクを作成している場合は、単に作成時にそれらを追加します。
var myPopup = window.createPopup(),
link = myPopup.document.createElement("a");
link.href = "test.html";
link.onclick = function() {
// window refers to the main window, not the popup window
window.location = this.href;
}
myPopup.document.body.appendChild(link);
が動作しています。私は右クリックをしてリンクを新しいウィンドウで開こうとすると、これも機能していると思いますか? –
@KeithL:あなたはそれを修正できるとは思わない。おそらく、 'event.ctrlKey'のチェックを追加し、' window.location() 'の代わりに' window.open'を使うことができます。私があなただったら、ポップアップウィンドウ全体のコンテキストメニューを無効にします(かなり役に立たないです)。 –