动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Html-iframe的基本用法

04-23 14:46 779浏览
举报 T字号
  • 大字
  • 中字
  • 小字

iframe 作为html页面构成的基本元素之一,具备下面的特点:

  • 行内元素,默认宽度300px,高度150px
  • 遵循流式布局(Flow content),位于body元素内
  • 段落内容(Phrasing content),可以构成一个段落
  • 嵌入资源(Embedded content),类似的还有video、img等
  • 可交互(Interactive content),类似的还有button、textarea等
  • 无子节点(Palpable content),iframe标签内部不嵌入任何元素,相反,div标签内就可以嵌入其他元素

下面来介绍iframe的基本用法:

iframe具备一些节点属性,如下:

  • src:资源的地址
  • 绝对地址: 会加载对应地址的资源
  • 相对地址: 会加载当前页面,默认同源
  • about:blank: 会显示一个空白页
  • srcdoc: iframe中需要render的内容,会覆盖掉对应的资源的内容

为什么要这么做?

在iframe中,你可以加载不同的内容,这类内容不会被浏览器再一次进行解释,举个例子来说:

如果你想嵌入一些特别的符号,你就可以和sandbox联合使用(例子中的amp就是一个特殊符号)

<iframe
  sandbox
  srcdoc="<p>hey that's earl's table.
    <p>you should get earl&amp;me on the next cover."
  >
</iframe>

name:给嵌入的文档资源起的一个名字

sandbox:设置一些安全规则,规定了嵌入资源的一些行为,是否允许弹窗的行为

 allow-forms, allow-modals, allow-orientation-lock, allow-pointer-lock, allow-popups, allow-popups-to-escape-sandbox, allow-presentation, allow-same-origin, allow-scripts, allow-top-navigation, and allow-top-navigation-by-user-activation.

allowfullScreen: 规定嵌入资源是否允许全屏,true为允许

比如你嵌入了一篇文章,这篇文章有全屏观看的操作

<iframe
  src="http://article...."
>
</iframe>
// http://article....
<div
  id='article'
  onclick={handleFullClick}
>
// 省略文章内容
</div>
script:
const handleFullClick = () => {
  const article = document.getElementById('article');
  article.requestFullscreen();
}
allow,设置是否允许对应的特征策略
// 嵌入的iframe是否允许定位
<iframe src="https://maps.example.com/" allow="geolocation"></iframe>
referrerpolicy:是以枚举类型,设置了一些策略
enum ReferrerPolicy {
  "",
  "no-referrer",
  "no-referrer-when-downgrade",
  "same-origin",
  "origin",
  "strict-origin",
  "origin-when-cross-origin",
  "strict-origin-when-cross-origin",
  "unsafe-url"
};

contentDocument和contentWindow:返回的是iframe对应的document和window与当前页面的document和window对应。

总结起来就是,iframe可以嵌入第三方资源,并且可以对第三方资源进行策略限制,为了安全,毕竟第三方,需要一定的兜底处理。这在安全性方面起来了很大的提升,而且能够提升页面资源的丰富性。想要了解更多的iframe的信息请来动力节点在线网站,海量的Java知识免费等你来学!

0人推荐
共同学习,写下你的评论
0条评论
代码小兵696
程序员代码小兵696

118篇文章贡献392976字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消