网站首页 > 技术文章 正文
内容:
- iframe 全屏显示
- 通过代码切换 iframe 中的页面
- iframe 中页面调用父页面中的方法
iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。 在多页面开发中经常会用到。
1.iframe 全屏显示
如果需要在页面中控制 iframe 的高度和宽度,则必须将所在页面的高度和宽度先调整为 100%;如:
html, body, #app {
height: 100%;
width: 100%;
}
100% 也可以写成 100vh、100vw。
然后通过 css 来调整 iframe 的大小,如:
<iframe id="page" name="pageFrame" class="frame"/>
.frame {
margin: 12px;
width: calc(100vw - 26px);
height: calc(100vh - 126px);
border: 1px solid #fff;
border-radius: 6px;
background-color: #fff;
}
2.通过代码切换 iframe 中的页面
我们一般情况下,采用 iframe 的 src 属性来控制其中显示的页面,但当 iframe 中的页面跳转到其他页面时,这是我们改变 src 属性的值,iframe 不会将页面切换到要显示的页面,所以可以通过代码来控制 iframe 加载的页面,如针对上面代码中的 iframe 标签,相应的代码为:
document.getElementById('page').contentWindow.location = '/first.html'
3.iframe 中页面调用父页面中的方法
在 Vue 中使用 iframe 时,我们要实现 iframe 中的页面调用父页面中的方法,可以使用 postMessage 消息传递的方式来实现,如:
父页面中的代码:
window.addEventListener('message', function(e){
if (e.data.data === 'refresh-avatar') load_my_avatar()
})
iframe 中的页面代码:
window.parent.postMessage({
data :"refresh-avatar"
},'*');
- 上一篇: 关于Vue无法对iframe进行缓存的解决方案记录
- 下一篇: 跨域问题?同源策略大全
猜你喜欢
- 2025-01-09 如何实现高性能的在线 PDF 预览
- 2025-01-09 再不用怕Markdown中的绘图,GitHub官方支持Mermaid图表绘制工具
- 2025-01-09 单点登录是什么?三种情况的实现方式
- 2025-01-09 Javascript一些实用技巧
- 2025-01-09 面试官问道:常见的跨域处理方式有哪些?
- 2025-01-09 跨域问题?同源策略大全
- 2025-01-09 关于Vue无法对iframe进行缓存的解决方案记录
- 2025-01-09 IFRAME的各种经验总结
- 2025-01-09 推荐!Iframe 的4种加载技术和性能优化!
- 2025-01-09 页面加载多个Iframe,白屏时间太长,如何优化?
- 05-15总结雅虎前端性能优化技巧(16条)
- 05-15日常生活中吃雪莲果有养生功效也有危害
- 05-15API 安全之认证鉴权
- 05-15Chaosblade: 阿里一个超级牛逼的混沌实验实施工具
- 05-15膨来仙岛丨搞电竞的都是什么成分?
- 05-15大事全知晓!2022年新闻日历来了!
- 05-15你是有多久没看过麦田圈了?一篇文章全面回顾2015麦田圈季
- 05-15魔兽世界9.1 刻希亚寻找宝箱、稀有WA(转自nga)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)