2009-03-31 18 views
0

私はすべての外部リンクコードに触れることなく、phpを通して新しいウィンドウ/タブにすべての外部リンクを開きたいと思います。私はtarget = "blank"なしでこれを望んでいません。PHP経由でexternal linkを新しいウィンドウで開くには?

私はこれをjavascriptで行うことができますが、PHPソリューションがあるかどうかを知りたいと思っています。

+0

target = "_ blank"でこれをしたくないということですか? – cjk

+0

また、Javascript以外のソリューションがあるかどうかを知りたいということも意味しますか? – cjk

+1

ここでPHPは問題ではありません。 PHPはHTMLを出力し、クライアントの画面に表示されるとHTMLの問題になります。 –

答えて

3

この仕事はPHPで行うことはできません。問題はクライアントとの対話が必要ですが、PHPはサーバー側にあります。これはあなたがjavascriptを使うクラシックなものです。あなたはjQueryのものを使用する場合は

は非常に簡単になる:

// pretend you have links in your page <a href="link.htm" rel="external">Link</a> 
// please note that the rel-value can be chosen at will 
$(document).ready(function(){ 
    $('a[rel="external"]').click(function() { 
     window.open(this.href, '_blank'); 
     return false; 
    }); 
}); 
1

ない私はこの1つの権利を得た場合必ず、しかし、あなたが「ターゲット=空白」のJSの代替を探しているなら、この1作品とXHTML有効です。

のonclick = "window.open(この.href、 '_blank'); falseを返す; "

+0

apikot thxをすばやく返信します。私はabouのjavascriptメソッドを知っていますが、PHPのメソッドがあるかどうかを知りたかったので、手動ですべての外部リンクを編集する必要はありません。私はページ上の100のリンクを持っている場合、私はすべての外部リンクをスキャンし、クリックすると新しいウィンドウに開くことができる1つのスクリプトが必要です。 –

+0

JSでも同様ですが、mootoolsを使った短いスニペットを以下に示します: $$( 'a')。それぞれ(function(el){ if(el.rel == 'external') { el.addEvent(関数(E){ E =新たなイベント(E).stopと、 window.open(el.href、 '_blank');} 'クリック'); }})。 –

+0

サーバー側コードとクライアント側コードの違いを理解していないこれらのWeb開発者は何がありますか?私はいつもそれを見ていて、それは消えています。 – TRiG

関連する問題