新しいタブに切り替えることなくjavascriptを使用して新しいタブを開くにはどうすればよいですか?
たとえば、ユーザーがリンクをクリックすると、新しいタブが開きますが、ユーザーは現在のタブに留まる必要があります。新しいタブに切り替えることなくJavaScriptで新しいタブを開くにはどうすればいいですか?
答えて
Webブラウザが自動的に新しいタブに焦点を当てていますが、バックフォーカスを呼び出すことができます。
function openWindow(url)
{
window.open(url, '_blank');
window.focus();
}
<a href="http://www.example.com/" onclick="javascript:openWindow(this.href);return false;">Click Me</a>
残念ながら、現在のところ実行できませんが、近づくことはできます。新しいウィンドウを開くことができます。ウィンドウの寸法やウィンドウの機能を指定せずにこれを行うと、最新のブラウザでは新しいタブが代わりに開きます(ただし、ユーザーの好みにもよりますが、とにかく、そう?)。あなたが何かの名前を使うつもりならば、ちょうどwindow.open(url)
またはwindow.open(url, name)
。これは、ユーザーが開始したイベントに直接応答してください。そうしないと、ブラウザのポップアップブロッカーがポップアップをブロックする可能性があります。 :-)
...それで幸運。 window.open(...)
の後にwindow.focus()
に電話をかけることができますが、私の経験では通常は動作しません。
あなたがURLとの真のリンクを使って対話することをユーザーが行う場合、ユーザーは、それを新しいタブ、新しいウィンドウ、それを与えるかどうか、そしてそれを開くかどうかを決定できますフォーカス(Shift +クリック、Ctrl + Shift +クリック、または右クリックメニューを知るのに十分精巧であれば)。
これはユーザー固有の設定であり、JSからこの動作を変更することはできません。
残念ながら、あなたはすべてのブラウザでこれを行うことはできませんが、場合は、Chromeでこれを行うことができますブラウザの拡張機能を実装する。ジャバスクリプトによってChromeでタブを操作する方法 :
http://code.google.com/chrome/extensions/tabs.html
chrome.tabs.create(object createProperties, function callback)
Creates a new tab. Note: This function can be used without requesting the 'tabs' permission in the manifest.
Parameters
**createProperties** (object)
**windowId** (optional integer)
The window to create the new tab in. Defaults to the current window.
**index** (optional integer)
The position the tab should take in the window. The provided value will be clamped to between zero and the number of tabs in the window.
**url** (optional string)
The URL to navigate the tab to initially. Fully-qualified URLs must include a scheme (i.e. 'http://www.google.com', not 'www.google.com'). Relative URLs will be relative to the current page within the extension. Defaults to the New Tab Page.
**selected** (optional boolean)
Whether the tab should become the selected tab in the window. Defaults to true
pinned (optional boolean)
Whether the tab should be pinned. Defaults to false
**callback** (optional function)
(function(a){
document.body.appendChild(a);
a.setAttribute('href', location.href);
a.dispatchEvent((function(e){
e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
return e
}(document.createEvent('MouseEvents'))))}(document.createElement('a')))
Postは古いが任意の100%正解なしです。すべてのブラウザFOR
SOLUTION:
あなたが経由同じドメイン URLを新しいタブを開くことができます。
window.open("newurl.php", "_blank");
とクロスドメインの新しいタブのために、あなたは、単純なローカル・スクリプトを作成する必要があります、のようなこの新しいファイルに
「redirect.php」あなたはこの
のように(新しいタブのURLをターゲット)パラメータを渡します3210とあなたが任意のターゲットURLを新しいタブを作成することができます。私のウェブサイトで
window.open("redirect.php?u=http://www.google.com", "_blank");
:)
その私の解決策を。そして
window.open("https://stackoverflow.com");
を使用して、私のために、任意の
で動作完全に働きました。これは、使用しているブラウザ、オペレーティングシステム、および個人の好みによって異なります。
Chrome、Internet Explorer、Firefoxはすべて新しいタブを開きました。これはあなたのために動作しない場合は申し訳ありません。
(これは古いスレッドだと分かります)
- 1. "新しいタブで開く"のJavaScriptイベント
- 2. 新しいタブ(ライオンos x)を開くときに.rvmrcが自動切り替えされない
- 3. 新しいページを開く:新しいウィンドウと新しいタブ
- 4. JavaScriptを使用して新しいタブ/ウィンドウを開くにはどうすればよいですか?
- 5. 新しいタブ/ウィンドウで開く機能を備えたJavascriptリンク
- 6. 新しいタブでリンクを開き、新しいタブのみを開く
- 7. URLを新しいタブではなく既存のタブで開くようにブラウザに強制するにはどうすればよいですか?
- 8. 新しいタブでサムネイルを開く
- 9. 新しいタブでリンクを開く
- 10. 新しいタブ/ウィンドウでボタンを開く
- 11. 新しいタブでURLを開く
- 12. 新しいタブでリンクを開く?
- 13. ブラウザで新しいタブを開く
- 14. 新しいタブでiframeソースを開く
- 15. AngularJSで新しいタブを開く
- 16. response.addheaderで新しいタブを開くにはどうすればいいですか?
- 17. 新しいタブのランダムリンクでHTMLボタンを開くにはどうすればいいですか?
- 18. 新しいウィンドウを開くことなくフォームを切り替えるにはどうすればよいですか? C#MSVB
- 19. 新しいタブでPDFファイルを開くにはどうすればよいですか?
- 20. Chrome拡張機能:新しいタブでリンクを開くにはどうすればよいですか?
- 21. 新しいタブを開くfirefox
- 22. jqueryの新しいタブを開く
- 23. iOS開発で新しいView Controllerを切り替えるにはどうすればよいですか?
- 24. MacVimの新しいウィンドウではなく、ターミナルからタブに新しいファイルを開くにはどうしたらいいですか?
- 25. 新しいタブで開くこともできるAjaxリンク? (Facebookのような)
- 26. タブとpushViewControllerを同時に切り替えるにはどうすればいいですか?
- 27. ページが新しいタブで開く代わりにフレーム
- 28. Javascript - 新しいタブでリンクを開く(同じウィンドウ)
- 29. Selenium WebDriver:新しいウィンドウの代わりに新しいタブを開く
- 30. 新しいタブを開くことなくFirefoxでページを表示
Re 'focus':私の経験ではありません。とにかくChromeではなく(http://jsbin.com/aboluk/2)、試してもそれほど害はない。 –
@ T.J.Crowder:実際にはChrome 15で私にとってはうまくいきます。 – josh3736
@ josh3736:面白いです。私はまだ14(Linux上)にいるし、そうではありません。基本的には:あなたはそれに頼ることはできません。 :) –