2011-04-07 3 views
1

을하면 iframe 콘텐츠 추가하면 마크 업입니다 : 이제나는 iframe.Following 내부 페이지를 표시하고

<iframe src="/home/index" width="700px" height="300px"/> 

, 내가이은 iframe에 다른 페이지의 내용을 추가하려고 jQuery를 사용하여 :

$('iframe').bind('load',function() 
{ 

$('iframe).contents().find('body').load('/user/profile'); 
}); 

javacript 파일 (예 : 'user/profile'페이지의 head 섹션에는 jquery.js, profile.js 등의 javascript 파일에 대한 참조가 포함되어 있습니다.) 이외의 페이지 (사용자/프로필) 콘텐츠가 렌더링되고 있습니다 .Firebug에서 iframe의 내용을 확인했습니다. 이 js 파일에 대한 참조가 없습니다. 도와주세요.

답변

0

jQuery가 script 태그를 포함하는 콘텐츠를 추가하면 해당 태그가 제거됩니다. 그 안에있는 코드는 DOM에 삽입되지 않고 실행됩니다. 이 작업은 Internet Explorer가 때때로 중단되기 때문에 수행됩니다.

더 많은 정보를 얻으려면 head 요소의 콘텐츠를 /user/profile의 iframe 페이지에 body에 추가하지 않는 이유를 묻는 것입니다. 이것이 예상대로 작동하지 않는다는 것에 정말로 놀랐습니까?

iframe의 전체 내용을 바꾸므로 가리키는 페이지를 변경하지 않으시겠습니까? Javascript로 왜이 작업을 수행하는지 알 수 없습니다.

0

head 요소를 본문에 넣으므로 HTML이 작동하지 않으므로 작동하지 않습니다.

lonesomeday 아주 좋은 포인트를 만들어 :

대신

$('iframe').contents().find('html').load('/user/profile'); 

....

편집 할 수 있습니다. iframe의 src를 변경하지 않는 이유는 무엇입니까?

$('iframe').attr('src', '/user/profile'); 
관련 문제