タブでプログラムで新しいページを開く
-
06-07-2019 - |
質問
「強制」しようとしていますSafariまたはIE7で新しいページを開く新しいタブを使用。
プログラム的には次のようなものを意味します:
window.open('page.html','newtaborsomething');
解決
Internet Explorerユーザーが制御するオプションであるため、これを直接制御することはできません。
Window.openを使用して別のウィンドウ名でページを開くと、ポップアップなどの新しいブラウザーウィンドウで開きます。ユーザーがブラウザーを設定した場合は、または新しいタブで開きます。
他のヒント
Firefoxで機能する属性target =" _newtab"を追加できます。アンカーに移動して、新しいタブを強制的に開きます。
<a href="some url" target="_newtab">content of the anchor</a>
javascriptで使用できます
window.open('page.html','_newtab');
それは、サムに同意するということです。ユーザーがリンクをクリックする前に何が起こるかについてのヒントを表示せずに、ユーザーに新しいページまたは新しいタブを開かせることはできません。
他のブラウザでも機能するかどうか教えてください(現時点ではFirefox以外のブラウザで試す機会はありません)。
編集:ie7の参照を追加
たぶん、このリンクは役に立つかもしれません
http:// social。 msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
次を使用しようとしている人:
window.open('page.html', '_newtab');
window.openメソッドを実際に見る必要があります。
あなたがしているのは、ブラウザにNAMED&quot; _newtab&quot;という新しいウィンドウを開くように指示することだけです。 page.htmlをロードします。ロードする新しいページはすべて、そのウィンドウにロードされます。ただし、ユーザーが新しいウィンドウではなく新しいタブで新しいページを開くようにブラウザを設定している場合、タブが開きます。とにかく、ウィンドウまたはタブに同じ名前を使用しています。
異なるウィンドウまたはタブで異なるページを開く場合、新しいウィンドウ/タブの名前を次のような異なる名前に変更する必要があります。
window.open('page2.html', '_newtab2');
もちろん、新しいウィンドウ/タブの名前は、_newtab2ではなく、page1、page2、page3などの任意の名前にすることができます。
新しいタブを使用するか新しいウィンドウを使用するかはユーザー次第です。この動作を変更するのは開発者の仕事ではありません。できるとは思いません。
Pet peeve of mine-サイトが新しいウィンドウ/タブで開くように強制するとき、私は嫌いです-私は自分でその決定をすることができます。特に彼らがjavascriptでそれをするとき-それは本当に役に立たない。
すでに試しましたか
var open_link = window.open('','_blank');
open_link.location="somepage.html";
Chromeで見つけた
window.open('page.html','_newtab')
1回のみ動作します。
次を使用できます:
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()
これは100%動作します
window.open( 'http://www.google.com/','_newtab' + Date.now());
これは、バッチファイルを呼び出すことができる場合に機能する可能性があります(私はphpを XP sp2およびIE8 ... IE7を試すことができます(dunno)。 .batファイルで次の(または同様の)ファイルを使用して、Windowsを開きます。 &quot;&quot; C:\ Progra〜1 \ Intern〜1 \ iexplore&quot; http://www.site.com"を起動します。引用符とC:\ Progr ...などの間にスペースはありません。ある時点で、これは新しいタブではなく、新しいウィンドウ(target =&quot; _blank&quot;)を開き始めるかもしれませんが、ポイントまで機能します;広範囲にテストされていません。これを通常のバッチファイル(CMD.exe)で使用するには、おそらくウィンドウを既に開いている必要があります。偶然見つけたものを共有するだけです。明確化のために編集。
<a href="http://www.google.com/" target="_self">New Tab Example</a>
IE7で動作します。
よろしく、
グレン