IFRAME의 내용을 지우는 방법은 무엇입니까?
빈 페이지를로드하지 않고 자바 스크립트를 사용하여 IFRAME 요소의 콘텐츠를 지우려면 어떻게해야합니까?
나는 이것을하기 위해 알아낼 수있다 : iframe_element.src = "blank.html"
, 그러나 더 나은, 즉각적인 방법이 있어야한다.
about:blank
비어있는 "URL"입니다. 항상 분명해
페이지의 소스를 설정하면 지워집니다.
var iframe = document.getElementById("myiframe");
var html = "";
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
IE, Firefox 및 Chrome에서 테스트되었습니다.
당신의 기술이 가장 강력합니다. 나 자신을 사용하는 것입니다. 때때로 콘텐츠는 HTTPS를 통해 전달 될 수 있으며 about : blank를 사용하면 "보안되지 않은 위치의 콘텐츠를 포함 하시겠습니까?"라는 경고 메시지가 표시 될 수 있습니다.
즉각적인 것은 인식의 문제이지만 긴 캐시 만료로 구성된 사이트에 단일 Blank.html 파일이있는 경우 클라이언트는 페이지를 한 번만 가져옵니다 (세션 당 최대 한 번).
또는 다음을 수행 할 수 있습니다.
var iframe_element = window.frames['iframe_name'];
iframe_element.document.open();
iframe_element.document.close();
IFrame이 많은 페이지에서 "about : blank"에 어려움을 겪었습니다. 모든 브라우저에서 유효한 위치는 아닌 것 같습니다 (하지만 확실히 알 수는 없습니다). 어쨌든 나는 행복하다javascript:void(0);
다음과 같이 할 수도 있습니다.
<html>
<head>
<script>
var doc = null;
window.onload = function() {
alert("Filling IFrame");
doc = document.getElementById("test");
if( doc.document ) {
document.test.document.body.innerHTML = "<h1>test</h1>"; //Chrome, IE
}else {
doc.contentDocument.body.innerHTML = "<h1>test</h1>"; //FireFox
}
setTimeout(function() {
alert("Clearing IFrame");
if( doc.document ) {
document.test.document.body.innerHTML = ""; //Chrome, IE
}else {
doc.contentDocument.body.innerHTML = ""; //FireFox
}
}, 1000);
};
</script>
</head>
<body>
<iframe id="test" name="test">
</iframe>
</body>
</html>
// 먼저 Id에서 창을 가져옵니다.
var my_content = document.getElementById('my_iframe').contentWindow.document;
// 그런 다음 본문 태그 내부 HTML을 빈 문자열로 설정하여 지 웁니다.
my_content.body.innerHTML="";
// 이제 새 콘텐츠를 작성할 때 본문 끝에 추가되지 않고 iframe 본문에 신선한 콘텐츠 만 포함됩니다.
my_content.write(new_content);
Iframe을 가져 와서 documentElement를 제거하십시오. Iframe이 비어 있습니다.
var frame = document.getElementById("YourFrameId"),
frameDoc = frame.contentDocument || frame.contentWindow.document;
frameDoc.removeChild(frameDoc.documentElement);
function getContentFromIframe(iFrameName)
{
var myIFrame = document.getElementById(iFrameName);
var content = myIFrame.contentWindow.document.body.innerHTML;
//Do whatever you need with the content
}
$("#iframe").contents().find("body").html('');
참고URL : https://stackoverflow.com/questions/1785040/how-to-clear-the-content-of-an-iframe
'programing' 카테고리의 다른 글
C #을 사용하여 어떤 프로세스가 파일을 잠 갔는지 어떻게 알 수 있습니까? (0) | 2020.12.04 |
---|---|
TEXT 또는 VARCHAR을 사용하는 것이 더 나은 DATATYPE은 무엇입니까? (0) | 2020.12.04 |
C # new 문 뒤의 중괄호는 무엇을합니까? (0) | 2020.12.04 |
JDK는 "상향"또는 "역방향"과 호환됩니까? (0) | 2020.12.04 |
git은 한 분기와 다른 분기의 차이점을 기록합니다. (0) | 2020.12.04 |