vue移动端项目中遇到一个问题,需要调用显示一个外部页面,但是需要支持返回,因此想到使用内联框架。结构如下
<header></header>
<content>
<iframe scrolling="no" src="https://www.baidu.com/"></iframe>
</content>
iframe {
width: 100%;
min-width: 100%;
border: 0;
outline: none;
}
结果安卓机上可以正常适配,但是苹果机上页面出现错乱。
查阅了解到:
虽然iframe设置width:100%;但是内联框架展示的页面实际宽度超过100%;在ios上,当内联框架内页面真实宽度大于外层的宽度的时候,显示的宽度则为真实宽度。
扩展了解到:
<iframe src= "https://www.baidu.com/" width= "100% " height= "100% "> </iframe>
<object width=100% height=100% type=text/html data=https://www.baidu.com/> </object>
<embed src= "https://www.baidu.com/" width= "100% " height= "100% "> </embed>
<iframe>
<embed>
- 标签定义嵌入的内容,比如插件。
- 是 HTML 5 中的新标签。
- 可以交互。
- 会在页面加载完显示。
<object>
- 向 HTML 代码添加一个对象
- 初衷是取代 img 和 applet 元素
解决办法: