2014-04-24 3 views
0

iFrame에서 콘텐츠를 삭제하려고하는데 다음 질문이 표시됩니다 : Unloading/Removing content from an iFrame. 문제는 주어진 솔루션을 코딩하려고 할 때 FireBug의 디버그 콘솔에서이 오류가 발생한다는 것입니다. Permission denied to access property 'document'.'iFrame에서 콘텐츠 언로드/제거'를 시도하는 중 오류가 발생했습니다.

무엇 내가 뭘하면이입니다

var frame = document.getElementById("idFrame"), 
     frameDoc = frame.contentDocument || frame.contentWindow.document; //error here 
    frameDoc.removeChild(frameDoc.documentElement); 

문제가 여기에 무엇입니까? 내가 뭘 잘못하고있어? 내가하려고

같은 오류 : 정상

$("#amadeusFrame").contents().find("body").html(''); 
+2

도메인 간 액세스? 그렇다면 [동일 출처 정책] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript)은 iframe에 대한 액세스를 차단합니다. – Teemu

+0

정확하게 @Teemu가 말한 것과 같습니다 - Teemu linked 질문에 대해 수락 된 답변에 대한 세 번째 설명을 읽으십시오. 물론 iframe에서 모든 것을 없애고 싶다면 내 솔루션을 사용해보십시오. – ElmoVanKielmo

답변

2

. 시도해보십시오 :

var frame = document.getElementById("idFrame"); 
frame.src = "about:blank"; 

XSS 공격의 벡터가 될 수 있으므로 iframe의 내용으로는 재생할 수 없습니다.
iframe 소스가 문서를 포함하는 도메인에있는 경우에만 가능합니다.

관련 문제