Javascript 如何检查iframe是否为空/空/未定义?

Javascript 如何检查iframe是否为空/空/未定义?,javascript,jquery,html,browser,iframe,Javascript,Jquery,Html,Browser,Iframe,这不起作用: if(document.getElementById("iframe").innerHTML==''){ 是否有一种安全可靠的方法来检查iframe是否为空 谢谢如果您可以使用jQuery,请检查它的length属性。这是跨浏览器兼容的。如果它是零,它就不存在。大概是这样的: if(!$("#iframeid").length) { // iframe doesn't exist } if($("#iframeid").contents().find("body").l

这不起作用:

if(document.getElementById("iframe").innerHTML==''){
是否有一种安全可靠的方法来检查iframe是否为空


谢谢

如果您可以使用jQuery,请检查它的
length
属性。这是跨浏览器兼容的。如果它是零,它就不存在。大概是这样的:

if(!$("#iframeid").length) {
    // iframe doesn't exist
}
if($("#iframeid").contents().find("body").length) {
    // some html page loaded in iframe
}
编辑:

在看到您对问题的评论后:

如果要检查iframe内部是否没有加载页面,并且iframe不是跨域的,则可以检查iframe内部是否存在
body
标记。如果它存在,则加载了一些内容

大概是这样的:

if(!$("#iframeid").length) {
    // iframe doesn't exist
}
if($("#iframeid").contents().find("body").length) {
    // some html page loaded in iframe
}

如果iframe是跨域的,您将被阻止。否则这将起作用。

检查框架的
contentDocument
属性。IE 7和更早版本支持
contentWindow
属性,但在中有一个简单的跨浏览器示例

一个不太可靠的方法,但可能是你想要的。。。检查
src
属性


您可以在

上阅读有关其他帧属性的信息,您所说的“空”是什么意思?您是否正在尝试确定是否未加载页面或加载的页面是否为空?未加载页面。。。但这两个都很好知道…似乎一直都是真的。。。不工作的话。。。我将尝试另一种查找“body”的方法,我使用if(iframe.offsetHeight==0)来查找它是否存在。。。我主要需要知道它什么时候不存在,这样才能满足我的需要并在主要浏览器中工作:)@alex:如何在跨域环境中使用它