2012-06-25 2 views
0

나는 내 웹 페이지에서 브라우저의 새 탭에서 내 웹 사이트의 iframe을 열고 싶은 많은 발신 링크가 있습니다. 기본적으로 iframe에서 나가는 링크를여시겠습니까?

현재 나는 다음과 같은 코드를 사용하고 (나는 구글 결과 몇 가지 물건을 읽을 때)

<a href="www.example.com" target="_blank" onclick="this.href='http://mysite.com/article.php?link=www.example.com'">Example.com</a> 

그것은 효과적인 솔루션을하지 보인다, 또한 내가 수동으로 모든 링크에이 일을해야합니다.

다른 방법이 있습니까? JQuerysh 방법은 또한 나를 위해 좋은 것입니다.

답변

2

난 당신이 모든한다고 가정 링크를 자동으로 iFrame으로 리디렉션 할 수 있습니다. 기존 코드를 수정하지 않아도됩니다. 이 경우 iFrame으로 리디렉션 한 다음 jQuery를 사용하여 모든 요소를 ​​선택하고 onlick 이벤트를 추가하는 함수를 만들 수 있습니다.

$("a").one("click", function() { 
    this.href = 'http://mysite.com/article.php?link=' + this.href; 
}); 

"http : //"를 제거하고 URL 인코딩하려면 몇 가지 추가 코드를 작성할 수 있습니다.

+0

모든 'a' 태그가 아닌 경우? 클래스 선택기와 같은 것? – Asif

+0

예 $ ("a.myClass") ... 잘 작동합니다. – jaypeagi

+0

예를 들어 링크가 새 탭에서 두 번 열리는 경우 이벤트가 여러 번 발생하지 않도록 코드를 수정했습니다. – jaypeagi

0

당신이 시도 클릭 한 URL의 iframe을 사용하여 사이트의 프레임을 원하는 경우에 ...

당신은 프록시 역할을하는 새 페이지를 만들해야합니다. 이미 'http://mysite.com/article.php?link=www.example.com'으로 알아 냈습니다. 프록시 페이지에 연결하면 프록시 페이지가 iframe을 보유하게됩니다. 이런 식으로 뭔가 :

링크 : <a href="article.php?link=example.com" target="_blank">Example.com</a>

article.php가 포함 <iframe src="<?php echo $_GET['link']; ?>" />

솔루션은 오류 처리가없고 URL을 인코딩하지 않습니다. 당신은 단순히 현재 iframe이 내부의 링크를 열려면

또는, 이것을 사용 ..

링크 : <a href="http://example.com" target="myframe">Example.com</a>

iframe이 : <iframe id="myframe" />

+0

나를위한 해결책은 아닙니다. 두 경우 모두 내 요구 사항을 충족시키지 못했습니다. 당신은 맞습니다. 나는 GET 매개 변수를 가져 와서 iframe의'src'로 전송하는 PHP 페이지'article.php'를 가지고 있습니다. 그러나 그것을 보여줄 것이기 때문에'a'의'href'와 함께 보여주고 싶지 않았습니다. 내가 피하려고하는 커서의 커서를 가리 키십시오 ... – Asif

관련 문제