105

新しいタブを使用して新しいページを開くように Safari または IE7 を「強制」しようとしています。

プログラム的には、次のような意味です。

window.open('page.html','newtaborsomething');
4

11 に答える 11

121

Firefox では機能し、属性 target="_newtab" をアンカーに追加して、新しいタブを強制的に開くことができます。

<a href="some url" target="_newtab">content of the anchor</a>

JavaScriptで使用できます

window.open('page.html','_newtab');

そうは言っても、私はサムに部分的に同意します。リンクをクリックするに何が起こるかについてのヒントを表示せずに、ユーザーに新しいページや新しいタブを開くように強制するべきではありません。

他のブラウザーでも動作するかどうか教えてください (現時点では、Firefox 以外のブラウザーで試す機会はありません)。

編集: ie7の参照を追加 たぶん、このリンクが役立つかもしれません

于 2009-01-09T09:32:45.023 に答える
65

これは Internet Explorer ユーザーによって制御されるオプションであるため、直接制御することはできません。

別のウィンドウ名で Window.open を使用してページを開くと、ポップアップのような新しいブラウザー ウィンドウで開くか、ユーザーがブラウザーでそうするように構成している場合は、新しいタブで開きます

于 2009-01-09T09:35:40.743 に答える
47

以下を使用しようとしている方:

window.open('page.html', '_newtab');

window.open メソッドを実際に確認する必要があります。

「_newtab」という名前の新しいウィンドウを開いて page.html をロードするようにブラウザに指示するだけです。ロードするすべての新しいページがそのウィンドウにロードされます。ただし、ユーザーが新しいウィンドウではなく新しいタブで新しいページを開くようにブラウザーを設定している場合、タブが開きます。とにかく、ウィンドウまたはタブに同じ名前を使用しています。

別のウィンドウまたはタブで別のページを開く場合は、新しいウィンドウ/タブの名前を次のように別のものに変更する必要があります。

window.open('page2.html', '_newtab2');

もちろん、新しいウィンドウ/タブの名前は、_newtab2 ではなく、page1、page2、page3 などの任意の名前にすることができます。

于 2011-02-24T21:48:56.410 に答える
14

新しいタブまたは新しいウィンドウを使用するかどうかはユーザー次第です。この動作を変更するのは開発者の仕事ではありません。私はあなたがそれを行うことができるとは思わない。

私のペットの不満-私は、サイトが私に新しいウィンドウ/タブで開くように強制するのが嫌いです-私は自分でその決定を下すことができます。特に彼らがjavascriptでそれを行うとき - それは本当に役に立たない.

于 2009-01-09T09:20:37.890 に答える
9

あなたはすでにのように試しましたか

var open_link = window.open('','_blank');
open_link.location="somepage.html";
于 2011-02-09T10:22:28.820 に答える
5

Chromeで見つけた、

window.open('page.html','_newtab')

一度だけ動作します。

以下を使用できます。

window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));

複数の新しいタブを開く。

于 2010-03-01T19:39:37.087 に答える
4

jQueryで使用するコード:

$("a.btn_external").click(function() {
    url_to_open = $(this).attr("href");
    window.open(url_to_open, '_blank');
    return false;
});

これは、子の親のクリック イベントを区別するのに役立ちます。このメソッドを使用すると、親のクリック イベントはトリガーされません。

于 2011-11-08T23:05:23.327 に答える
0

必要に応じて、このメソッドを使用できます。これは少しハックですが、目的の機能を提供します。

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()
于 2012-08-10T20:16:59.530 に答える
-2

これは、バッチファイルを呼び出すことができる場合に機能する可能性があります(私はXP sp2およびIE8でphpを使用しています...IE7、dunnoを試すことができます)。.batファイルで次の(または同様の)を使用してWindowsを開きます。 "" C:\ Program〜1 \ Intern〜1 \iexplore"http://www.site.com"を起動します。引用符とC:\ Progr ...などの間にスペースはありません。ある時点で、これは新しいタブではなく新しいウィンドウ(つまり、target = "_ blank")を開き始める場合がありますが、ある程度までは機能します。広範囲にテストされていません。これを通常のバッチファイル(CMD.exe)で使用するには、ウィンドウを既に開いている必要があります。私が偶然見つけた何かを共有するだけです。明確にするために編集。

于 2011-11-28T07:45:29.200 に答える
-7
<a href="http://www.google.com/" target="_self">New Tab Example</a>

IE7 で動作します。

よろしく、

グレン

于 2010-04-22T19:19:12.337 に答える