2012-12-08 15 views
16

を既存の再利用しかし、これは常に新しいタブを開きます。私は、ユーザーが既に同じURLでタブを持っている場合は、以下の効果新しいタブで開いているURLまたは今私はリンク</p> <pre><code><a href="blabla" target="_blank">link</a> </code></pre> <p>を持っている1、可能な限り

  1. をしたい、そのタブを再利用し、
  2. 可能であればリフレッシュそうでない場合は、どのように達成することができます

新しいタブを開きますこれはJavaScriptを使用してですか?

ブラウザ固有の方法がある場合は問題ありません。対応するサポートのないブラウザのユーザーは、常に新しいタブの方法に「フォールバック」します。

+0

私はまだコメントの評判が十分ではありませんので、これを回答として選んではいけませんが、ここではこの質問に近いと思います:http://stackoverflow.com/questions/2641812 /同じページが既に開かれている、別のウィンドウであることを検出する方法、つまり幸運を祈る! –

答えて

19

タブを再利用するために、特定のウィンドウの名前を設定することができます。問題は、hrefが同じになる限り、再読み込みされないことです。だから、refreshの部分を簡単に手に入れることはできません。

そうで、たとえば、あなたが持つことができますJSで

<a href="blabla" target="blabla">link</a> 
<a href="foo" target="bar">link</a> 

を、あなたは実際にwindow.openを使用して、同じことを得ることができます。あなたが手動で指定する必要はありませんように、あなたはまた、targetとしてURLを使用することができます。

<a href="blabla" onclick="window.open(this.href, this.href); return false">link</a> 
<a href="foo" onclick="window.open(this.href, this.href); return false">link</a> 

ます。また、一般、およびドキュメントにクリックリスナを追加することができ、このようにいくつかのリンクを開くために。ような何か:

<div id="container"> 
    <a href="blabla">link</a> 
    <a href="foo">link</a> 
</div> 

<script> 
    document.getElementById("container").onclick = function(evt){ 
     if (evt.target.tagName === "A") 
      window.open(evt.target.href, evt.target.href); 

     return false; 
    } 
</script> 

ページでは、おそらく同様にページの経験的にリフレッシュをやろうとしている可能性があり、この時点では、同じドメイン上にある場合。

+2

何とか私のために働いていません。私が質問と回答を理解していれば、最初のリンクをクリックするとブラウザの新しいタブが開き、リンクがクリックされた後、同じブラウザのタブを再利用する必要があります。毎回新しいタブを開きます。同じリンクをトリガする場合を除いて、別のタブを開くことはできません。 – Liladhar

+0

2回目のCtrl +クリックブラウザ(少なくともChrome)はこのタブに切り替わります。それは本当に私が期待するものではありません。 – coolguy

関連する問題

 関連する問題