contentwindow

contentWindow和contentDocument

こ雲淡風輕ζ 提交于 2019-11-27 14:32:06
【contentDocument】 W3C的标准告诉我们,可以通过Dom对象的contentDocument属性来返回文档对象。 doc= document.getElementById('J_mainframe' ).contentDocument IE6,IE7都不支持,IE8开始支持,需要如此访问 document.frames['J_mainframe'].document; 【contentWindow】 contentWindow属性,这是个只读属性,返回指定的iframe的窗口对象。 它虽然不是标准的一部分,但各个主流浏览器都支持。 来源: oschina 链接: https://my.oschina.net/u/1434721/blog/360724

真正解决iframe高度自适应问题

梦想与她 提交于 2019-11-27 12:10:18
1.前言 解决iframe高度自适应问题有两种方法 1. pym 2.手动设置iframe的高度 本文主要是总结第二种实现方式,因为第一种pym.js插件我没用懂 如果使用iframe时,遇到以下的需求: iframe的高度始终等于嵌入页面内容的高度,而不是屏幕的高度 右侧不允许出现两个滚动条 iframe的高度自适应不仅仅是指刚加载进来时,也有可能嵌入内容的高度会随点击变化(如:下拉菜单,左侧导航栏等) 页面可能同时嵌入多个iframe 2.contentWindow对象 *需要起个服务,不要直接在本地打开 这是个只读属性,返回指定的iframe的window对象 拿到这个对象,就可以根据正常网页的方法拿到嵌入(子)网页的文档高度,然后把值附给父页面的iframe的height。 function setIframeHeight(iframe) { if (iframe) { var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow; if (iframeWin.document.body) { iframe.height = iframeWin.document.body.scrollHeight; } } }; 为了监测网页高度是否因为点击了某个下拉按钮高度变化

各浏览器Iframe对contentWindow、contentDocument、、的测试

本小妞迷上赌 提交于 2019-11-27 01:17:36
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