网站首页 > 技术文章 正文
内容:
- 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,白屏时间太长,如何优化?
- 1508℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 520℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 490℃MySQL service启动脚本浅析(r12笔记第59天)
- 469℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 467℃启用MySQL查询缓存(mysql8.0查询缓存)
- 447℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 427℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 424℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)