2014-11-21 3 views
2

나는 부모 탭이나 새 탭 안에 iframe 링크를 열려고 끊임없이 노력했지만, 제대로 작동하지 않는 것 같습니다. target = "_ parent"링크를 설정하면 링크가 아무 것도하지 않고 target = "_ blank"링크를 설정하면 새 탭에서 열리지 만 아무 것도 표시하지 않습니다.새 탭에서 iFrame 링크를여시겠습니까?

링크에 대상을 추가하는 코드를 제거하자마자 내가 수행하려고 시도하지 않은 iframe 내부에서 열립니다. 어떤 도움이라도 대단히 감사하겠습니다. 여기

<iframe src="js/eventsFrame2.php?EventID=2422308" id="frameclass" frameborder="0" scrolling="no" width="100%" height="600"> 

가 iframe을 내부의 코드입니다 : 여기

내가 사용하고있는 iframe이 코드

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
    function myFunction() { 
    $("a").attr('target','_parent'); 

    } 
$(window).load(myFunction); 

</script> 

<script language="javascript" type="text/javascript"> 
    document.write('<script language="javascript" src="http://tickettransaction.com/?bid=1761&amp;sitenumber=18&amp;tid=ticket_results&amp;evtid=2422308"><\/script>'); 
</script> 
+0

, 당신이보고있는 무엇인가 : -

예는 iframe을에로드 된 페이지에서 머리 내에서 기본 태그를 포함 여기에 그 반대가 아니라? 나는 잘 모르겠다. 어쨌든 +1하십시오. –

+0

@DeeMac 새 탭에서 iframe의 링크를 열 수 있습니까? – eric212

+0

잘 모르겠다 ... –

답변

0

당신이 (iframe을 포함)을 상위 페이지를 덮어 쓰기를 시도 가지고와 함유량? iframe을 내부

코드 :

<script language="javascript" type="text/javascript"> 
    parent.document.write('<script src="http://tickettransaction.com/?bid=1761&amp;sitenumber=18&amp;tid=ticket_results&amp;evtid=2422308"><\/script>'); 
</script> 
+0

그럴 수도 있지만 그것은 iframe이 사용자가 링크를 클릭하면 부모 페이지의 내용을 덮어 쓰길 원할뿐입니다. 그게 가능하니? – eric212

+0

당신이 원하는 것이 무엇인지 확신 할 수 없습니다. 그런 일이 일어나려면 ** 응답을 리디렉션해야하고, 클릭에 대한 동작은 ** 부모 페이지로 리디렉션해야합니다. –

+0

응답을 어떻게 리디렉션 할 수 있는지 알고 있습니까? – eric212

0

쿼리가 문서 노드를 잡을 수있는 contents() 방법을 정의하지만, 그것은 당신에게 당신에게 창에 문서에서 갈 수있는 크로스 브라우저 방법을 제공, 그렇게하지 않습니다

var iframea = $('iframe').contents().find("a"); 

iframea.attr('target','_parent'); 

중요 : 아직 붙어 다시 '당신은 항상 문서가이

var iframe= document.getElementById('iframe_id'); 
//var iframewindow= iframe.contentWindow 
//? iframe.contentWindow : iframe.contentDocument.defaultView; 
var preview = previewFrame.contentDocument || previewFrame.contentWindow.document; 
if (preview.readyState=="complete") 
{ 
    //ok 
} 
else 
{ 
    //perform a recursive call until it is complete 
} 
로 작업 상태로 "완료"임을 확인해야합니다
+0

에이브릴 (Avril), 응답 해 주셔서 감사합니다. iframe 위에 첫 번째 코드를 추가했지만 여전히 작동하지 않았습니다. iframe 내부에서 열린 링크가 여전히 iframe에서 열린 상위 탭에서 열리지 않았습니다. – eric212

0

iframe 내부의 콘텐츠를 제어 할 수있는 경우 base 태그를 사용해보세요.

동일 출처 정책을 사용하면 iframe 내에 내용을 액세스 할 수 없음을 지시
<base target="_top"/> 
+0

iframe 내부의 내용을 제어 할 수 있지만 기본 태그는 링크에 대상을 지정하는 것과 같은 기능을하므로 작동하지 않습니다. 기본 태그를 추가하면 링크가 아무 것도 반환하지 않습니다. – eric212

+0

@ eric212 빠르고 견고한 테스트를 여기에 넣었습니다. https://dl.dropboxusercontent.com/u/34718810/stackoverflow/iframe-test.html이 테스트가 수행하려는 작업을 수행하지 못합니까? – lucasjackson

+0

네, 그게 제가 성취하려고하는 것입니다. 그러나 내 코드에 추가 할 때 어떤 이유로베이스가 작동하지 않습니다. – eric212