网站首页 > 技术文章 正文
内容:
- 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,白屏时间太长,如何优化?
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)