网站首页 > 技术文章 正文
内容:
- 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,白屏时间太长,如何优化?
- 08-06中等生如何学好初二数学函数篇
- 08-06C#构造函数
- 08-06初中数学:一次函数学习要点和方法
- 08-06仓颉编程语言基础-数据类型—结构类型
- 08-06C++实现委托机制
- 08-06初中VS高中三角函数:从"固定镜头"到"360°全景",数学视野升级
- 08-06一文讲透PLC中Static和Temp变量的区别
- 08-06类三剑客:一招修改所有对象!类方法与静态方法的核心区别!
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)