新しいタブを使用して新しいページを開くように Safari または IE7 を「強制」しようとしています。
プログラム的には、次のような意味です。
window.open('page.html','newtaborsomething');
新しいタブを使用して新しいページを開くように Safari または IE7 を「強制」しようとしています。
プログラム的には、次のような意味です。
window.open('page.html','newtaborsomething');
Firefox では機能し、属性 target="_newtab" をアンカーに追加して、新しいタブを強制的に開くことができます。
<a href="some url" target="_newtab">content of the anchor</a>
JavaScriptで使用できます
window.open('page.html','_newtab');
そうは言っても、私はサムに部分的に同意します。リンクをクリックする前に何が起こるかについてのヒントを表示せずに、ユーザーに新しいページや新しいタブを開くように強制するべきではありません。
他のブラウザーでも動作するかどうか教えてください (現時点では、Firefox 以外のブラウザーで試す機会はありません)。
編集: ie7の参照を追加 たぶん、このリンクが役立つかもしれません
これは Internet Explorer ユーザーによって制御されるオプションであるため、直接制御することはできません。
別のウィンドウ名で Window.open を使用してページを開くと、ポップアップのような新しいブラウザー ウィンドウで開くか、ユーザーがブラウザーでそうするように構成している場合は、新しいタブで開きます。
以下を使用しようとしている方:
window.open('page.html', '_newtab');
window.open メソッドを実際に確認する必要があります。
「_newtab」という名前の新しいウィンドウを開いて page.html をロードするようにブラウザに指示するだけです。ロードするすべての新しいページがそのウィンドウにロードされます。ただし、ユーザーが新しいウィンドウではなく新しいタブで新しいページを開くようにブラウザーを設定している場合、タブが開きます。とにかく、ウィンドウまたはタブに同じ名前を使用しています。
別のウィンドウまたはタブで別のページを開く場合は、新しいウィンドウ/タブの名前を次のように別のものに変更する必要があります。
window.open('page2.html', '_newtab2');
もちろん、新しいウィンドウ/タブの名前は、_newtab2 ではなく、page1、page2、page3 などの任意の名前にすることができます。
新しいタブまたは新しいウィンドウを使用するかどうかはユーザー次第です。この動作を変更するのは開発者の仕事ではありません。私はあなたがそれを行うことができるとは思わない。
私のペットの不満-私は、サイトが私に新しいウィンドウ/タブで開くように強制するのが嫌いです-私は自分でその決定を下すことができます。特に彼らがjavascriptでそれを行うとき - それは本当に役に立たない.
あなたはすでにのように試しましたか
var open_link = window.open('','_blank');
open_link.location="somepage.html";
Chromeで見つけた、
window.open('page.html','_newtab')
一度だけ動作します。
以下を使用できます。
window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));
複数の新しいタブを開く。
jQueryで使用するコード:
$("a.btn_external").click(function() {
url_to_open = $(this).attr("href");
window.open(url_to_open, '_blank');
return false;
});
これは、子の親のクリック イベントを区別するのに役立ちます。このメソッドを使用すると、親のクリック イベントはトリガーされません。
必要に応じて、このメソッドを使用できます。これは少しハックですが、目的の機能を提供します。
jQuery('<a/>', {
id: 'foo',
href: 'http://google.com',
title: 'Become a Googler',
rel: 'external',
text: 'Go to Google!',
target:'_blank',
style:'display:none;'
}).appendTo('#mySelector');
$('#foo').click()
これは、バッチファイルを呼び出すことができる場合に機能する可能性があります(私はXP sp2およびIE8でphpを使用しています...IE7、dunnoを試すことができます)。.batファイルで次の(または同様の)を使用してWindowsを開きます。 "" C:\ Program〜1 \ Intern〜1 \iexplore"http://www.site.com"を起動します。引用符とC:\ Progr ...などの間にスペースはありません。ある時点で、これは新しいタブではなく新しいウィンドウ(つまり、target = "_ blank")を開き始める場合がありますが、ある程度までは機能します。広範囲にテストされていません。これを通常のバッチファイル(CMD.exe)で使用するには、ウィンドウを既に開いている必要があります。私が偶然見つけた何かを共有するだけです。明確にするために編集。
<a href="http://www.google.com/" target="_self">New Tab Example</a>
IE7 で動作します。
よろしく、
グレン