2012-03-22 8 views
0

페이스 북의 iframe 콘텐츠 페이지에서 작업 중이며, 내 사이트의 iframe 콘텐츠가 표시되는 데 몇 초가 걸리므로 iframe 내부에 로딩 gif를 배치하여 처음에는 몸으로 보일 수 있습니다. 배경 이미지)를로드하면서 나머지 내용을로드합니다.iframe에 내용을로드하는 동안 로더 이미지를 배치 할 수 있습니까?

iframe은 모든 이미지와 함께 ussually cames를 참조하십시오. 그래서 iframe의 내용이나 내용을로드 할 수있는 방법이 있고 모두 함께 표시되는지 궁금합니다.

신체 배경으로 이미지를 시도했지만 작동하지 않았습니다. 둘 다 함께 왔습니다.

+0

"Facebook 탭 iframe 콘텐츠 페이지"란 무엇을 의미합니까? – Marc

+0

그런 식으로 작동하려면 [ajax] (http://www.w3schools.com/ajax/default.asp)를 통해 콘텐츠를 동적으로로드해야합니다. [jQuery는 약간 단순화 할 수 있습니다.] (http://api.jquery.com/jQuery.ajax/). 그래서 기본적으로 당신은 처음에는 로딩 gif가 될 것이고 백그라운드에서는 아약스 호출을 통해 내용을 가져 오는 것입니다. 내용이 준비되면 주 컨테이너를 가져온 내용으로 바꿉니다. –

+0

@TelmoMarques - 콘텐츠가로드되기 전에 자신의 iframe에 무언가를 표시하려고하면 운이 좋지 않습니다. 그는 스크립트가로드 될 때까지 아약스 호출로 컨텐츠를로드 할 수도 없습니다. 그때까지 그는 자신의 진행 메시지를 올려 놓고 정기적 인 페이지로드를 허용 할 수 있습니다. 그래서, 나는 아약스에 의한 로딩이 실제로 많이 구입하지 않는다고 생각한다. – jfriend00

답변

0

음,

나는 당신이 달성하고자하는 것을 이해합니다. 하지만 이것을 달성하기 위해 아는 유일한 방법은 아약스를 사용하여 모든 콘텐츠를로드하는 것입니다.

페이지로드시 실행되도록 ajax 기능을 설정하십시오. 그리고 페이지의 본문에 그 GIF 로더 중 하나를 넣으십시오 ..

희망은 무엇을 말하려고하는지 이해합니다!

2

다른 도메인에서 가져온 iframe의 내용은 수정할 수 없습니다.

그러나 메인 윈도우의 절대 위치 지정을 사용하면 삽입 된 iframe의 상단에 이미지를 배치 할 수 있습니다. 이미지는 기본 페이지 디자인을 복잡하게하거나 변경하지 않고도 원하는 것을 달성 할 수 있습니다. 여기

은 예입니다 : 코드는 iframe에 있고 당신이 뭔가가 iframe을에 페이지가로드되기 전에 표시하고 부모를 제어하지 않는하려면 http://jsfiddle.net/jfriend00/DajS4


, 다음 아무 없다 . 코드가로드 될 때까지 아무 것도 동적으로 수행 할 수 없으며 페이지가 이미 표시되기 시작합니다.

당신이 할 수있는 일은 보여줄 첫 번째 것 중 하나가되어야 할 페이지의 첫 번째 태그에있는 작은 이미지와 같이 매우 빠르게 페이지에 무언가를로드하는 것입니다. 로드가 완료되면 작은 이미지를 숨길 수 있습니다. 뭔가 빨리 표시하는 것 이외에도로드 할 때까지 아무 것도 할 수 없으므로로드하기 전에 아무 것도 표시 할 수 없습니다. 이전에 뭔가 해낸 부모 창을 만들어야합니다.

+0

이것이 페이스 북에서 작동하는지 확실하지 않습니다. 그가 할 수있는 일은 iframe에 URL을주는 것뿐입니다. 내가 옳은 것을 이해한다면 @Martin은 프레임이로드되는 동안 로더를 표시하는 것입니다 ... 페이스 북의 코드를 수정할 수 없기 때문에 AJAX를 사용해야합니다. –

+0

@RoopakV - 다시 말해. 나는 처음에이 질문을 다른쪽으로 해석했다고 생각합니다. 두 경우 모두, 지금도 내 대답에 다른 사례를 추가했습니다. – jfriend00

0

AJAX를 사용하여 페이지를로드 할 수 있습니다.

<div id="loading">loading..</div> 
<div id="content" style="display:none"></div> 

$(function() { 
    $('#content').load('http://url', function() { 
     $('#loading').hide(); 
     $(this).show(); 
    } 
}); 

참고 :로드 속도를 높이려면 모든 자바 스크립트의 위치가 페이지 하단에 있어야합니다.

관련 문제