2013-06-11 7 views
4

내가 iframe을 다음 코드로드되어 있는지 확인하려면 .ready :확인이

$(document).ready(function() { 
    jQuery('#iframeID').ready(somefunction); 
} 

iframe을로드하기 전에 '된 SomeFuncion가'이라고 보인다 (iframe이 비어 있음 - 단지 빈 html-head-body).

왜 이런 일이 발생하는지 알고 싶습니다.

감사합니다.

+3

대신 onload 사용 –

답변

14

대신 사용해보십시오. iFrame을 처리하는 동안

$('#iframeID').load(function() { 
    callback(this); 
}); 

, 충분히 load() 이벤트 대신 $(document).ready() 이벤트를 사용하는 것이 좋다.

+12

바인딩 할 때 iframe이 이미로드되면 어떻게됩니까? –

1

내부의 문서가 아니라 iFrame이 준비되었는지 확인하기 때문입니다.

$(document.getElementById('myframe').contentWindow.document).ready(someFunction); 

트릭을해야합니다.

+0

지금이 방법으로 문서에 액세스 할 수 있습니까? – user160820

+0

일부 사이트에서는 iframe 내부에서 javascript를 사용하여 DOM에 액세스하지 못하지만 iframe이 동일한 도메인에 있으면'document.getElementById ('myframe') .contentWindow.document'를 사용하여 DOM을 조작 할 수 있어야합니다. 문서 – pandavenger

0

이 나는 ​​시도했다 :

$("#frameName").ready(function() { 
    // Write you frame on load javascript code here 
}); 

그것은 나를 위해 작동하지 않았다.

이 한 : 이벤트가 빨리 발생하지 않습니다

$("#frameName").load(function() { 
    //code goes here 
}); 

에도 불구하고 - 이미지와 CSS도로드 한 때까지 기다립니다.