首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

) 页面可能同时嵌入多个iframe 2.contentWindow对象 *需要起个服务,不要直接在本地打开 这是个只读属性,返回指定的iframe的window对象 拿到这个对象,就可以根据正常网页的方法拿到嵌入...(子)网页的文档高度,然后把值附给父页面的iframe的height。...,高度可以自适应的变高,但在变低时,会发现父页面的高度并没有向我们想象的随着子页面降低,导致底部留有大面积空白的问题,请继续往下看 3.文档声明的重要性 将子页面的文档声明改为就好了 可以直接使用,但是只支持同源下父页面可以通过contentWindow获取子页面的内容高度,跨域的下次再说。...,而是等于父元素iframe的高度?

5.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    记一次老项目中的跨页面通信问题和前端实现文件下载功能

    2.实现父子页面和子页面与子页面之间通信的方法 父子页面这里主要针对iframe而言,即iframe和父页面以及iframe页面之间的通信。比如下图: ?...我们想实现父页面A操控子页面A,B,并且让子页面和父页面交互,这里我们主要使用 iframe的 contentWindow parent.window 通过contentWindow,我们可以拿到iframe...内部的方法和dom元素,进而可以操控iframe页面 首先我们来看看父页面操控子页面的场景:父页面A调用子页面的方法传递一条数据,并并显示在子页面中: // 父页面 window.onload = function...同样,子页面也可以操控父页面: // 父页面 function $id(id) { return document.getElementById(id) } // 子页面 parent.window...$id('bridge').innerHTML = '子页面操控父页面dom'复制代码 从代码可以看到,我们使用parent.window拿到父页面的window,然后调用父页面提供的$id方法来操作父页面

    68830

    前端复盘: iframe跨页通信和前端实现文件下载

    效果如下: 2.实现父子页面和子页面与子页面之间通信的方法 父子页面这里主要针对iframe而言,即iframe和父页面以及iframe页面之间的通信。...比如下图: 我们想实现父页面A操控子页面A,B,并且让子页面和父页面交互,这里我们主要使用 iframe的 contentWindow parent.window 通过contentWindow,我们可以拿到...iframe内部的方法和dom元素,进而可以操控iframe页面 首先我们来看看父页面操控子页面的场景:父页面A调用子页面的方法传递一条数据,并并显示在子页面中: // 父页面 window.onload...同样,子页面也可以操控父页面: // 父页面 function $id(id) { return document.getElementById(id) } // 子页面 parent.window...$id('bridge').innerHTML = '子页面操控父页面dom' 从代码可以看到,我们使用parent.window拿到父页面的window,然后调用父页面提供的$id方法来操作父页面dom

    1.3K30

    广告等第三方应用嵌入到web页面方案 之 使用js片段

    3.根据ID,calss,data-*等查询到脚本所在位置,并将元素添加到DOM中  id='hxh-coupon-scandown' type="text/javascript">..., entry); })()   优点:      1.可以异步加载第三方DOM, 不阻塞主页面的渲染,即使js出错,也不会影响到主页面     2.可以将创建的DOM动态插入到已存在的元素之后...(即可以追加到已知位置)    缺点:     1.使用字符串拼接不利于HTML片段的编写和维护     2.会继承父页面样式     3.主页面可更改DOM内容   字符串拼接不利于编写和维护的问题,...  主页面提供一个不设置src的iframe标签,通过iframe的contentWindow访问iframe的DOM,使用document.write将HTML直接写入到iframe中 var...iframe时, 会带来主页面很大的性能开销, 对于只是渲染一两次情况, 这种性能消耗可以忽略不计   3.需要继承父页面的基础样式, 有些时候,希望第三方应用继承父页面的基础样式, 来和主页面的样式风格保持一致

    3.4K111

    实现iframe父窗体与子窗体的通信

    0.背景介绍 (1)需要在当前的前端项目中,使用iframe嵌套别的站点页面。 (2)当子窗体触发了一个事件后,要给父窗体传一个跳转地址的url。...父窗体监听到这个事件后,根据接收到的url,来更新当前父窗体的url,实现页面的跳转。...1.采用方案 1.1 MessengerJS方案 可以采用MessengerJS方案,该方案可以实现父窗体与iframe之间的通信、多个iframe之间的通信。...不过要前提是要确保对不同域的页面有修改权限,并且父窗体、子窗体页面都要同时加载这个MessengerJS。...同时提供了一个完整的实例,可以实现子窗体向父窗体传递消息,父窗体通过监听消息事件,来获取子窗体消息的目的。如有问题,欢迎指正。

    9.8K771

    nodeIntegrationInSubFrames | Electron 安全

    ,决定是否允许在子页面(iframe)或子窗口(child window)中集成Node.js; 预先加载的脚本会被注入到每一个iframe,你可以用 process.isMainFrame 来判断当前是否处于主框架...在之前的一些版本中,似乎子窗口会继承父窗口的一些配置,但后来主要是为了生命周期等,简单来说,我把父窗口关了,子窗口也会被关闭或其他设置 该参数要在父窗口初始化是配置,而不是子窗口 0x03 测试 iframe...Node.js 的能力 所以这个配置项在一些社区在名字问题上争议比较大,默认人员认为这个名字不是很合理 0x04 测试子窗口 这个子窗口是让我比较疑惑的,我看创建子窗口的时候,子窗口可以有自己的安全配置呀...,难道没有设置 nodeIntegrationInSubFrames 或设置 nodeIntegrationInSubFrames: false 后,即使子窗口设置了渲染进程可以执行 Node.js 也不会生效吗...可以直接使用 Preload 脚本中定义好的功能和值 如果嵌入 iframe、object、embed 的宿主页面的安全配置为 sandbox: false nodeIntegration: true

    32410

    iframe关闭父页面(iframe嵌套https页面)

    iframe是html标签,具有一般标签的属性: width iframe的高度 height iframe的宽度 src iframe里面加载的页面url name 可以通过window.frames...[name]获取到frame scrolling iframe里面的页面是否可以滚动 frameborder 是否显示iframe边框 1(显示)0(不显示) id 和其他的html标签id一样...在主页面中通过iframe标签可以引入其他子页面 <!...对象 2、获取父页面 子页面可以访问、修改同一个域名的父页面的方法和属性 window.parent/parent 获取当前页面的父页面-iframe所在的页面 parent.window 获取父页面的...window属性 parent.document 获取父页面的document属性 window.top 获取打开该页面的父页面,如果当前页面没有被嵌套到iframe中,window.topwindow

    6.9K10

    JQuery javascript实现父子页面相互调用

    场景1 父页面调用子页面 如上图,在iframe子页面的元素中,定义了taskStatus全局变量,如果希望在其父页面中获取该全局变量的值,则可在父页面的元素中新增js脚本如下...: var taskStatus = document.getElementById('iframe-1-11').contentWindow.taskStatus; 注:这里iframe-1-11为子页面...iframe id属性值 注:也可以通过上述方式去调用子页面定义的全局函数 场景2 子页面调用父页面 如上图,如果希望在iframe子页面中获取父页面当前tab页面,以获取tab标签页其它信息...$('#tabs').tabs('getSelected'); # 后续操作 var tabID = currentTab.panel('options').id; …… 说明:此处的#tabs 为easyui...tab div容器的id 上述带背景色部分的js内容为关键语法

    2K20

    基于iframe,前端和前端联调也是很丝滑

    = { getUserInfo({ id }) { // 通过id拉用户信息,返回 // 怎么返回呢,在子页面再定义一个handleGetUserInfoSucc...[data.api](data.payload); } catch (e) { console.error(e); } }); 子页面请求父页面,获取数据后,父页面再调一下子页面的处理成功的方法...} }); 后续我们可以和其他前端约定一些来源值fr来校验是否可以访问这些api 支持promise的方式 我们也看见了,子页面发请求的时候,父页面返回成功还要子页面提前再准备一个方法,这样子很麻烦。...父页面调用子页面的resolvePromise来间接执行resolve/reject。...当然,根据自己情况酌情修改更舒服哦,比如一些人喜欢node的error放第一个参数的callback风格、一些人喜欢axios风格的、一些人喜欢面向对象的风格,这些都可以围着这个思路来酌情修改,最合适自己为好

    79750

    【Vue】基于Vue封装的无需页面声明的弹出层

    ,所以就封装了一个dialog以js的方式引用进页面,直接调用方法动态将Modal添加到页面,进行各个页面的逻辑分离。...,callback:关闭打开页面后的父级页面调用的回调函数,params:父级页面给打开的子页面传递的参数,screenunit:打开页面宽高的单位 注:OpenDialog方法是在本级页面打开窗口,该组件同时提供在顶级窗口打开全局页面...,为OpenTopDialog,参数完全一致 4.子页面获取父级页面传递的参数 var params = GetParams(); 5.关闭页面 CloseDialog("page2回传111111...,普通打开页面没问题,但是一旦和打开顶级页面混用,就会出现问题,这里先说下window.postmessage的一些坑 一般逻辑为,我打开一个二级页面dialog,我为父级页面注册一个监听,子页面关闭后向父级页面发送...iframe["fastdialog_params"] = params;实现,具体逻辑可以查看源码看下,需要注意的是dialog还提供右上角的x关闭页面,关闭时也需要同步维护dialoglist数组

    27130

    前端中存在的变量劫持漏洞

    0x1 基础知识 当页面存在iframe的时候,父页面和子页面是可以相互获取到对方的window对象的,主要利用下面的方法。...的window对象 window[0] ; // 这个比较有意思, window 是本页面的window对象,window[0] 是子页面的window对象 子访问父: window.parent;...//获取上一级的window对象,如果还是iframe则是该iframe的window对象 window.top ; // 获取最顶级容器的window对象,即,就是你打开页面的文档 如果父和子页面是同源的...意味着可以读取不同域的子页面里面的iframe的window对象 location 可写,但是不可读。...(父页面可以获取子页面的window对象,然后通过frames获取孙页面的window对象,然后修改location) 爷修改孙,演示如下: <!

    51320

    不同页面通信与跨域

    如果我们用服务器打开,我们的不同tab页面通信完成了,而且是实时的。 2. 玩转iframe 我们都知道frame可以跨域,那么我们来试一下。...既然能跨域,我们直接双击打开1.html,发现还是可以,这个例子双击打开和服务器打开都能达到目的 2.2 父调用子页面的js或者反过来调用 父调子:还是基于前面的条件 var i = document.querySelector...,只能服务器打开 2.3 window.name (能跨域) 类似于vue、react的prop父子传值,只要在父窗口设置iframe标签的name,在子窗口就可以读到。...父窗口:1.html iframe name="myIframe" src="http://localhost:1000/2.html">iframe> 子窗口:2.html console.log...父窗口:1.html iframe id="test" name="myIframe" src="http://localhost:1000/2.html">iframe> //js var frame

    1.8K10

    25个经典Selenium自动化面试题,赶紧收藏

    ① 元素定位错误 ② 页面加载时间过慢,需要查找的元素程序已经完成,单页面还未加载,此时可以加载页面等待时间 ③ 有可能元素包含在iframe或者frame里面,需要切换...需要使用driver.switch_to.alert() (7)selenium可以处理window弹窗吗?...飘忽不定,定位方法也是一样,根据元素属性定位(元素的tag name属性是不会变的,动的只是class属性和style属性) (17)如何通过子元素定位父元素?...第一种:通过子元素定位父元素,selenium提供了parent方法,但是只能定位到父元素,却不能获取元素属性,也不能操作。 第二种:通过xpath的语法直接定位。 如....如何解决的? 比如动态id 、有iframe的情况、没加等待等因素 (23)selenium中隐藏元素定位,你该如何做?

    2.6K30
    领券