2012-01-25 27 views
4
私は「ブランク_」=ターゲットとして EXACT同じように新しいタブ/ウィンドウでURLを開きたい

目的

でしょう。JavaScriptを使用して新しいタブ/ウィンドウを開くにはどうすればよいですか?

コード

私は、次のJavaScriptをトリガーPHP条件使用しています:私の問題

window.openが= "_ブランク" 対象として同じではありません

<script type="text/javascript"> 
window.open ("http://www.google.com/","_blank", "status=1,toolbar=1"); 
</script> 

をハイパーリンク。

  1. ポップアップブロッカーに問題があります。
  2. ウィンドウにはtarget = "_ blank"が生成したようなパラメータが必要です。
  3. JavaScriptが実行されると、含まれているドキュメントの特定のフォント色が失われます。

私の質問

は、どのように私は正確にターゲット=「_空白」によって生成何シミュレートしていますか?

+3

あなたはそうではありません。ポップアップブロッカーは、アクションが_userによって開始されたことを確認するために今すぐチェックします。それ以外の場合はブロックします。 – Ktash

+0

可能な複製:http://stackoverflow.com/questions/1574008/how-to-simulate-target-blank-in-javascript –

+0

@Ktash:コードが「ユーザーが開始」になるにはどうすればよいでしょうか? .clickイベントをシミュレートするのは理にかなっていますか? –

答えて

1

JavaScriptからウィンドウを開くのではなく、JavaScriptを使用してリンクのhrefを更新し、リンク上でクリックをトリガーします。こうすることで、ユーザーがリンクをクリックしたときとまったく同じ動作になります。

あなたのページにIDとtarget="_blank"というリンクを追加してください。新しいウィンドウを開く場合は、このリンクのhrefを更新し、クリック(この場合はhereから)をトリガーします。

function clickLink(link) { 
var cancelled = false; 

if (document.createEvent) { 
    var event = document.createEvent("MouseEvents"); 
    event.initMouseEvent("click", true, true, window, 
     0, 0, 0, 0, 0, 
     false, false, false, false, 
     0, null); 
    cancelled = !link.dispatchEvent(event); 
} 
else if (link.fireEvent) { 
    cancelled = !link.fireEvent("onclick"); 
} 

if (!cancelled) { 
    window.location = link.href; 
} 
} 
関連する問題