代码改变世界

【javascript基础】各浏览器Iframe对contentWindow、contentDocument、document及frames属性测试 【转】

2013-01-07 14:30  sniper007  阅读(442)  评论(0编辑  收藏  举报

Iframe易于嵌套及管理页面,但经常遇到跨域、父子页面访问问题,对于子页面访问父页面可以兼容性地通过window.Top或 window.Parent或window.frameElement等操作,但对于标题中四个对象,一直没有完整测试过,故买个苦力,分享给大家。

 

 
contentWindow contentDocument   document  
  frames  
 Firefox 11

   ×  
 Opera 11
   ×  
 Chrome 15
/360 极速 5.2

 ×  ×  √
 Safari 5.1
   ×  √
 Maxthon 3.3

 √
 ×  
 IE6  ×    
 IE7
 ×    
 IE8/360安全      
 IE9
     
 IE10
   ×  
 搜狗/QQ/
百度IE
 ×    
 百度极速
   ×  


结论:
    1. 就浏览器而言(横向),IE8/IE9/360安全浏览器全部支持;
    2. 就属性而言(纵向),contentWindow和frames所有浏览器都支持,其次是contentDocument,document支持性最差;
    3. 由于iframe经常涉及跨域,本地测试(即未发布)环境中,chrome/360极速/IE6/IE9对于contentWindow.document属性是deny状态,原因是Unsafe JavaScript attempt to access frame with URL file:///***.html from frame with URL file:///***.html Domains, protocols and ports must match。IE9本地环境下对于contentDocument也是deny的。

转自:http://blog.163.com/codewin@126/blog/static/173669443201231152319351/