2014-12-30 2 views
1

매우 이상한 상황이 있습니다. 내가 할 수있는 모든 일을 설명해 줄거야.jquery에서 Firefox가 iFrame 콘텐츠를 표시하지 않음 .load()

iFrame이 포함 된 부분보기가 있습니다. 따라서 메인 페이지에서 아약스 호출을 통해 부분 뷰를 얻습니다.

main.cshtml :

<div id='reportPreviewDiv'></div> 

partialview.cshtml :

<iframe id="testIFrame"> 
    This content is built with https://github.com/ilich/MvcReportViewer/ 
</iframe> 

main.js :

$.ajax({ 
    url: reportUrl, 
    data: { reportParameters: parameters }, 
    method: 'POST', 
    success: function (data) { 
     $("#reportPreviewDiv").html(data); 

     // Function One 
     $("#testIFrame").load(function() { 
      // Do some extra stuff 
      $("#reportPreviewDiv").show(); 
     }); 

     // Function Two 
     $("#testIFrame").load(function() { 
      // Do some extra stuff 
     }); 
     $("#reportPreviewDiv").show(); 
    } 
}); 
목표는 iframe이 다른 어떤 전에로드 될 때까지 기다리는 것입니다

기능이 수행됩니다.

기능 하나는 IE와 Chrome (이 형식은 http://i.imgur.com/5PW6ZeR.png이어야 함)에서 작동하지만 Firefox에서는 (http://i.imgur.com/sOtz6Kb.png)처럼 보입니다.

나는 .load()는 함수 두에로, 파이어 폭스에 대한 잘 작동하지만이 완료하기 전에 reportPreviewDiv를 보여줍니다 같이 (크롬과 IE에 약간의 지연이 외부

$("#reportPreviewDiv").show(); 

을 넣으면 .load의 기능().

흥미의 여분의 부분)는 I가하면서 .load (외부의 setTimeout에

$("#reportPreviewDiv").show(); 

싸여 있음이며, I는 시간 제한 t 설정할 때 o 1.5 초를 초과하면 기능 1과 동일한 방식으로 내용을 표시하지 못합니다.

답변

0

.show()은 Firefox에서 항상 작동하지 않습니다.

$("#reportPreviewDiv").css('display', 'block'); 
: 사업부를 보여

사용이 코드

관련 문제