2011-02-27 5 views
0

iFrame 내에있는 특정 URL에 대한 링크를 열 수 있어야합니다. 링크는 PHP에 의해 생성되고 소스 코드를 변경할 수 없으므로 가능하면 iFrame의 링크를 동적으로 변경해야합니다.새 창에서 iFrame 내의 특정 도메인에 대한 링크 열기

비영리 단체의 사이트에서 페이지의 iFrame에있는 제휴사 스토어 (php로 생성 됨)를 사용하여 나머지 사이트와 스타일을 더 많이 만들었습니다. . PHP 상점은 제휴 서비스에서 제품을 가져옵니다. store.php에 대한 링크는 주요 비영리 단체 사이트와 동일한 도메인에 있습니다.

문제는 제품의 "지금 구입하십시오"링크가 iFrame 내에 최종 목적지 전자 상거래 저장소를 열어서 페이지가 iFrame에 걸려서 나빠 보이고 V 및 H를 스크롤해야합니다. 그것을보고 체크 아웃하십시오.

새 창에서 열어야하는 링크에는 항상 "av_buy_now"클래스가 있습니다. 변경 가능한 CSS 파일에 대한 액세스 권한이 있습니다. shop.php와 같은 PHP 파일에 액세스 할 수 있지만 최종 링크가 로컬로 생성되지는 않습니다.

<iframe src="http://nonprofit.org/shop/mj/shop.php"></iframe> 

는 그 하나 개의 클래스와 mydomain.com에 대한 링크를 찾아 그들에게 새 창 속성을 추가 할 jQuery를하거나 자바 스크립트를 사용할 수있다 : 나는 iframe이이 방법을 보여주는거야? 아니면 더 좋은 방법이 있습니까? 감사합니다

답변

0

코드가 없으면 코드의 정확한 구조를 알 수 없지만이 작업을 수행 할 수 있습니다. jQuery가 iframe에도 있어야합니다. 일부는 이러한 종류의 코드를 실행하도록 관리 할 수있는 방법 경우

$('iframe')[0].$('.av_buy_now').filter(function() { 
    return $(this).attr('href').indexOf('mydomain.com') > -1; 
}).attr('target', '_blank'); 
+0

흠 .. 어떻게이 iframe에 jQuery를 포함 할 것이다? iFrame이 표시하는 html 템플릿에 포함시킬 수 있습니다. 그런가요? – markratledge

0

당신은 같은 것을 할 당신이 ID를 가지고의 클래스를 변경하면, 조금 귀찮은, 변경할 수 있습니다.

PAGE.html :

<button onclick="openinnewwin()">Get It</button> 
<iframe src="test.html" id="ifrm"></iframe> 
<script language="javascript"> 
function openinnewwin(){ 
ob=document.getElementById('ifrm'); 
if (ob.contentDocument) { 
    ob.contentDocument.getElementById('a').target="_blank"; 
}else if (ob.contentWindow){ 
    ob.contentWindow.getElementById('a').target="_blank"; 
} 
} 
</script> 

인 test.html :

<a href="http://www.google.com" class="aaa" id="a">Hello</a> 
관련 문제