如何清除IFRAME的内容?

如何清除我的IFRAME元素的内容,使用JavaScript,而不加载一个空白页面?

我可以想办法做到这一点: 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中testing…它做到了:)

你的技术是最强大的。 它是我自己使用的一个。 有时内容可能通过HTTPS传递,使用about:blank可能会导致警告消息出现“您要包含来自不安全位置的内容”或其他类似内容的效果。

即时的事情是一个知觉的问题,但是如果您的站点上有一个Blank.html文件configuration了caching过期,客户端将只能访问一次页面(每个会话最多一次)。

或者你可以这样做:

 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; 

//然后通过将body标签的内部HTML设置为一个空string来清除它。

 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”)的内容()find( “身体”)HTML( '')。;