2016-09-19 16 views
4

別のスレッドで実行される新しいポップアップタブを開くことはできますか?具体的には、新しいポップアップタブを作成してその新しいタブでデバッグを開始すると、リンクを含むタブは新しいタブでレジュームをクリックするまでjavascriptを一時停止します。私が達成したいのは、分離された新しいタブを作成して、親タブが実行している間にデバッグできるようにすることです。 Chromeブラウザを使用してこの問題が発生しました。これはFirefoxでうまく動作することに注意してください(他のブラウザではテストされていません)。JavaScriptを使って別のスレッドで新しいタブを開く方法は? (クロム)

答えて

4

通常、クロムは新しいウィンドウを同じプロセスIDで実行するよう強制します。 しかし、サイトが同じプロセスに強制することなく新しいウィンドウを開くことを可能にする技術があります。

参照元情報を渡さずに新しいウィンドウをターゲットとする別のWebサイトへのリンクを使用します。

<a href="http://differentsite.com" target="_blank" rel="noreferrer">Open in new tab and new process</a> 

それでもリファラ情報に通過させながら新しいプロセスで開くために新しいタブをしたい場合は、JavaScriptで次の手順を使用することができます。

  • はおよそで新しいタブを開きます。ブランクとしてその目標。
  • 新しく開いたタブのオープナー変数をnullに設定すると、元のページにアクセスできなくなります。
  • about:blankから元のページとは異なるWebサイトにリダイレクトします。たとえば、

var w = window.open(); 
    w.opener = null; 
    w.document.location = "http://differentsite.com/index.html"; 

技術的には、元のウェブサイトはまだwを通じて新しいものへのアクセスを持っているが、彼らは、ウィンドウを去勢するための手がかりとして.opener = nullを扱います。

ソース:https://bugzilla.mozilla.org/show_bug.cgi?id=666746

0

ウェブワーカーを試しましたか?サポートについてはわかりませんが、並列JS実行機能を提供するはずです。 hereおよびhereを参照してください。

+0

これは、この問題の過剰です。これはFirefoxで動作するので、私のコードに劇的な変更を加える必要はありません。 –

関連する問題