如何在不加载空白页面的情况下使用javascript清除我的IFRAME元素的内容?如何清除IFRAME的内容?
我可以想办法做到这一点:iframe_element.src = "blank.html"
,但必须有一个更好的,即时的方法。
如何在不加载空白页面的情况下使用javascript清除我的IFRAME元素的内容?如何清除IFRAME的内容?
我可以想办法做到这一点:iframe_element.src = "blank.html"
,但必须有一个更好的,即时的方法。
about:blank
是空白的“URL”。它始终清晰
您可以设置页面的来源,它会清除。
我在使用许多IFrame的页面上遇到了“about:blank”的问题。它似乎并不是每个浏览器中的有效位置(尽管我从来没有发现过)。无论如何,我很高兴与javascript:void(0);
如果Javascript被禁用,会发生什么情况? – AnthonyWJones 2009-11-23 18:36:18
他特别要求如何在Javascript之后重置IFrame位置。虽然我认为JavaScript:优雅地降级,但我不确定。 – 2009-11-23 18:41:13
你的技术是最强大的。它是我自己使用的那个。有时,内容可能通过HTTPS传递,使用about:blank可能会导致警告消息出现“您要包含来自不安全位置的内容”或其他类似内容的效果。
即时的事情是一个知觉问题,但是如果您的站点上有一个Blank.html文件,并且配置了长缓存过期,则客户端将只访问一次页面(每个会话最多一次)。
你也可以这样做:
<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>
或者,你可以这样做:。
var iframe_element = window.frames['iframe_name'];
iframe_element.document.open();
iframe_element.document.close();
如果您希望向窗口添加基本信息(或曾经),也可以在文档打开时写入文档。 – Trisped 2012-08-09 01:04:23
function getContentFromIframe(iFrameName)
{
var myIFrame = document.getElementById(iFrameName);
var content = myIFrame.contentWindow.document.body.innerHTML;
//Do whatever you need with the content
}
$( “#IFRAME”)的内容()找到( “身体” )。html的( '');
这不提供问题的答案。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/help/whats-reputation),你会能够[评论任何帖子](http://stackoverflow.com/help/privileges/comment)。 – 2013-08-11 07:04:10
如果它最初是从与包含页面相同的域加载的,您也只能修改iframe的内容。 – 2015-11-22 09:04:03
@PeterL。虽然我同意这个答案太简洁而且有用,但从技术上讲,它的确回答了OP,因为'jQuery' _is_'JavaScript'。 – 2016-06-21 15:51:56
var iframe = document.getElementById("myiframe");
var html = "";
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
在IE,Firefox和Chrome测试...它做到了:)
刚刚得到的iFrame和从中取出documentElement。 Iframe将是空白的
var frame = document.getElementById("YourFrameId"),
frameDoc = frame.contentDocument || frame.contentWindow.document;
frameDoc.removeChild(frameDoc.documentElement);
//首先,我从它的Id中获得窗口。
var my_content = document.getElementById('my_iframe').contentWindow.document;
//然后我通过将body标签的内部HTML设置为空字符串来清除它。
my_content.body.innerHTML="";
//现在,当我编写我的新内容时,它不会追加到主体的尾部,而iframe主体将只包含新鲜内容。
my_content.write(new_content);
你可以给我举例..我该怎么办呢.. – sikender 2009-11-23 18:34:19
iframe_element.src =“有关:空白”? – 2009-11-23 18:38:47
这是非常好的。 ty – ahoo 2013-07-07 09:51:40