我有一个绑定到iframe的load事件的事件处理函数,我想知道在iframe中检索的内容是HTML还是JSON.有没有办法实现这个目标?
经过一些研究,我发现知道在iframe中加载哪种内容的最可行的方法是通过文档DOM元素的contentType/mimeType属性.我们可以用不同的方式获得这个属性:
在加载处理函数内部(方式1):
var iframedocument = $(this).contents().get(0);
var contentType = iframedocument.contentType || iframedocument.mimeType;
Run Code Online (Sandbox Code Playgroud)
在加载处理函数内部(方式2):
var iframedocument = this.contentDocument;
var contentType = iframedocument.contentType || iframedocument.mimeType;
Run Code Online (Sandbox Code Playgroud)
在加载处理函数内部或外部(方式3):
var iframe = document.getElementById('iframe_id');
var iframedocument = iframe.contentDocument;
var contentType = iframedocument.contentType || iframedocument.mimeType;
Run Code Online (Sandbox Code Playgroud)
如果contentType == 'application/json'那么加载的文档是JSON.如果contentType == 'text/html'那时文档是HTML.
附加说明:这个想法来自Geoff Wartz对这个问题的回答:如何用jquery监听返回的json对象解决方案是基于对另一个问题的建议答案:如何从iframe获取内容类型?.最后,我们必须使用contentTypeMozilla Firefox兼容性和mimeTypeIE.
| 归档时间: |
|
| 查看次数: |
5404 次 |
| 最近记录: |