4

target="_blank"すべてのリンクに追加する次のコードがあります。

$(function() {
    $("a[href^='http://']").attr("target","_blank");
});

上記のコードを書き直して、内部リンクを除くすべてのリンクをターゲットにするにはどうすればよいでしょうか。

いいえ:

http://www.my-site.com/= 内部リンク

http://www.other-site.com/= 外部リンク

http://また、最初ではないが内部ではないリンクをターゲットにするにはどうすればよいですか?

jQuery ソリューションを探しています。

4

2 に答える 2

4

jQuery を使用する場合は、次の JavaScript を使用します。また、外部リンクにクラスを追加し、Google アナリティクスで発信リンクの追跡を含めます。Google アナリティクスを使用していない場合は、削除してください。

たとえば$("#main a[href^=http]").

$("a[href^=http]")
  .each(function(){
    // this part checks if the link is external
    if (this.href.indexOf(location.hostname) == -1){
      // add a class for external links
      $(this).addClass("ext")
        // make the link open in a new tab/window
        .attr({ "target":"_blank", "rel":"external" })
        // track clicks of external links if you use Google Analytics
        .click(function(){
          _gaq.push(["_trackEvent", "Outgoing link", "click", $(this).attr("href")]);
        });
    }
  });
于 2013-06-12T00:36:34.153 に答える