这不起作用:
if(document.getElementById("iframe").innerHTML==''){
是否有安全的浏览器可靠的方法来检查iframe是否为空?
由于
答案 0 :(得分:6)
如果您可以使用jQuery,请检查它的length
属性。这是跨浏览器兼容的。如果它为零,则不存在。像这样:
if(!$("#iframeid").length) {
// iframe doesn't exist
}
修改强>
在看到您对您的问题的评论之后:
如果您想检查iframe中是否没有加载页面,而iframe不是跨域,您可以检查iframe中是否存在body
标记。如果它存在,那么加载的东西。
这样的事情:
if($("#iframeid").contents().find("body").length) {
// some html page loaded in iframe
}
如果iframe是跨域名,则same-origin policy会阻止您。否则这将有效。
答案 1 :(得分:3)
检查框架的contentDocument
属性。 IE 7及更早版本支持contentWindow
属性,但在http://www.w3schools.com/jsref/prop_frame_contentdocument.asp有一个简单的跨浏览器示例。
一种不太可靠的方法,但可能是你想要的......检查src
属性。