2009-05-31 51 views
0

我正在将页面加载到IFRAME中,并且我想知道下载是否不完整,并且HTML格式不正确,并且缺少结束标记,如</body></html>检测IFRAME的文档是否格式错误

有没有什么办法可以在JavaScript中检测到这个?

+2

对于正文和html元素缺少结束标记的HTML文档没有格式错误 - 它们在规范中定义为可选。 – Quentin 2009-05-31 14:43:21

+0

好点,虽然这在实践中很少见。 – 2009-06-01 11:29:07

回答

2

我不知道,如果你可以测试HTML格式不正确或不知道到底什么样的期待和专门测试它缺少的元素。

如果您有权访问iframe页面的源代码,您可以在绑定到父窗口的</body>结束之前调用javascript函数变量; (或使用window.onLoad()事件来触发该调用。)

在您的容器页面中定义此方法。

window.iAmLoaded = function() { 
    alert('iframe loaded OK'); 
}; 

然后从iframe中调用它;

<script type="text/javascript" charset="utf-8">  
     window.parent.iAmLoaded();  
    </script> 
</body> 

如果这不是一个选项,并在iframe具有相当著名的DOM,或者独特的元素靠近页面末尾,您可以使用的getElementById或您喜爱的图书馆的CSS选择器的方法来定位元素。

-3

您可以使用iframe的onLoad事件来告知其何时完成加载。 http://www.w3schools.com/jsref/jsref_onload.asp

用于检测格式错误的html:您正在寻找验证器。浏览器不这样做,除了xhtml strict。有可能是js验证软件。

拉里