web-dev-qa-db-ja.com

プログラムでタブの新しいページを開く

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

プログラム的に私は次のようなものを意味します:

window.open('page.html','newtaborsomething');
96
Ricardo Vega

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

別のウィンドウ名でWindow.openを使用してページを開くと、ユーザーがブラウザを設定した場合は、ポップアップなどの新しいブラウザウィンドウで開くまたは新しいタブで開く.

62
thenonhacker

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

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

Javascriptで使用できます

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

言った、私はサムに部分的に同意します。何が起こるかについてのヒントを表示せずに、ユーザーに新しいページや新しいタブを開かせることはできませんbeforeユーザーがリンクをクリックします。

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

編集:ie7の参照を追加しましたこのリンクは役に立つかもしれません
http://social.msdn.Microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/

110
Eineki

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

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

window.openメソッドを実際に見てください。

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

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

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

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

43
Bob Lindabury

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

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

14
Sam Meldrum

すでに試してみましたか

var open_link = window.open('','_blank');
open_link.location="somepage.html";
7
Thurein Soe

Chromeで見つけました。

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

一度だけ動作します。

次を使用できます。

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

複数の新しいタブを開きます。

3

JQueryで使用するコード:

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

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

2
lacroixca

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

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()
0
Xenology

これは100%動作します

window.open('http://www.google.com/','_newtab' + Date.now());

0
Kevin Muchwat