2012-07-22 1 views
2

현재 우리는 추적 소프트웨어를 통해 방문자 브라우저의 새 탭에서 열고 싶지만 target="_blank" 또는 rel=external을 수동으로 추가하기를 원하지 않는 일부 PHP 리디렉션이 있습니다.PHP 리디렉션을 사용하여 새 탭에서 외부 링크를 자동으로 여는 방법은 무엇입니까?

우리의 현재 링크는 내가 자동 그러나 우리가이 링크 도메인에서와 호스팅 우리의 이러한 리디렉션을 사용하는 도메인의 URL을 기반으로 외부 링크를 식별하는 jQuery 코드의 예를 볼이

<a href="http://www.website-shown-browser.com" onclick="this.href='http://'+window.location.host+'/visit/redirect.php'">Website</a> 

처럼 걸러 낸다.

+0

감사합니다. – papillon

답변

5

수동으로 추가하는 대신 가능한 것은 가능하지만 반드시 효율적일 필요는 없습니다. 모든 태그를 선택하고 href가 외부인지 확인합니다. 이 경우 다음 당신은이 요소에 대해 _blank에 속성 target을 설정합니다 :

$('a').each(function() { 
    var a = new RegExp('/' + window.location.host + '/'); 
    if(!a.test(this.href)) { 
     $(this).click(function(event) { 
      event.preventDefault(); 
      event.stopPropagation(); 
      window.open(this.href, '_blank'); 
     }); 
    } 
}); 

더 효율적인 방법은 http://로 시작하는 태그를 선택하려면 선택을 조정할하는 것입니다,하지만 내부 링크 경우에만 작동합니다 는 (는) http:// 접두어가 아닙니다.

$("#content a[href^='http://']").attr("target","_blank"); 
관련 문제