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:如何在跨域环境中使用它