jQuery와 Ruby On Rails를 사용하고 있습니다. 내가jQuery iframe 액세스가 Firefox에서 처음으로 작동합니다.
내가 새 창에서 열어 <a>
링크를 확인하기 위해 iframe을 수정하려는은 iframe이 포함 된 HTML의 조각을 렌더링 아약스 호출 $.get()
있습니다.
autoResize
기능이 아약스 호출에 의해 렌더링 된 HTML에 정의 포함되어
<iframe id="iframe_message_<%= message.id %>" class="iframe_message" name ="iframe_message_<%= message.id %>" width="100%" frameborder="0" src="<%= message.attachments.body_html.first.document.url %>" onLoad="autoResize('iframe_message_<%= message.id %>');">
:
$(".iframe_message").ready(function() {
$('a', frames[id].document).attr('target','_blank');
});
이 잘 작동이 작업을 수행하려면
나는 iframe이 정의에 온로드를 추가 한 IE에서, 사파리지만 난 처음 클릭$.get()
마우스 클릭에 의해 호출되지만 다음에 클릭 (아니
<a>
태그가 수정되지 않습니다) 파이어 폭스에 문제가 있습니다.
캐싱 문제로 생각하여 $.get()
을 $.ajax()
으로 바꿔 cache:true
으로 바꾸었지만 여전히 동일한 문제가 있습니다.
문제가 될 수있는 아이디어가 있으십니까?
답변 해 주셔서 감사합니다. 내 페이지에로드 될 때까지 iFrame에 액세스 할 수 없어서 자바 스크립트를 넣을 수 없습니다. 그리고 파이어 폭스 – tranquiliste
을 제외한 다른 브라우저에 대한이 작업은 추가 테스트를 수행하고 이상한 일은 iframe의 모든 링크가 첫 번째 호출에서 파이어 폭스와 함께 target = "_ blank"로 수정된다는 것을 의미합니다. iframe이 아닌 iframe 외부의 모든 lin을 수정합니다. – tranquiliste