iframe元素的新html5属性

iframe元素将其他web页面直接嵌入到当前页面中。HTML5为此元素引入了三个新属性,以帮助解决HTML4 iframe实现的安全性和可用性问题。...

iframe元素将其他web页面直接嵌入到当前页面中。HTML5为此元素引入了三个新属性,以帮助解决HTML4 iframe实现的安全性和可用性问题。

HTML5 logo on screen

“沙盒”属性

iframe元素的sandbox属性是iframe的一个有用的安全特性。当您将其放置在iframe元素中时,用户代理不允许可能对站点及其用户造成安全风险的功能。

例如:

<iframe sandbox="">

指示浏览器禁止所有可能存在安全风险的功能—因此不允许插件、表单、脚本、出站链接、cookie、本地存储和同一站点页面访问。

然后,使用sandbox关键字值,重新启用一些功能。这些关键词是:

  • 允许表单:允许表单提交。
  • 允许相同来源:允许脚本访问来自相同来源域的内容,如cookie。
  • 允许脚本:允许脚本在此IFRAME中运行。
  • 允许顶部导航:允许iframe链接和脚本指向“\u top”目标

不要在同一iframe上同时设置允许脚本和允许同源关键字。如果这样做,嵌入的页面就可以删除沙盒属性,从而否定其安全性优势。

“srcdoc”属性

srcdoc属性为web设计器提供了对iFrame的更多控制以及更多安全性。web设计器将要显示在iframe中的HTML放在srcdoc属性内,而不是链接到不同URL的网页。

通过将由不受信任的源(如表单)创建的HTML放置到iframe中,您可以对不受信任的内容进行沙箱处理,并仍然在页面上显示它。博客评论就是一个例子。大多数博客只提供有限数量的HTML标签,评论者可以在他们的评论中使用。但是,通过使用srcdoc属性将这些注释放置在沙盒iframe中,这些注释可以更加健壮,同时仍然可以保护整个站点。

安全和iframes

上述两个属性为iframe元素提供了安全性,但它们并不是针对所有恶意站点的防御。如果恶意网站能够说服您的网站访问者直接访问恶意内容(例如通过在浏览器中键入URL),他们仍然会受到攻击。

如果可以,将沙盒iframe中的内容设置为text/html沙盒MIME类型。

“无缝”属性

无缝属性是一个布尔属性,它告诉浏览器显示iframe,就像它是父文档的一部分一样。如果希望iframe无缝显示,只需在元素中包含此属性:

<iframe seamless>

但是使iframe无缝不仅仅是外观,还包括页面如何与框架交互。一些提示:

  • 除非iframe页面设置了目标“\u SELF”,否则iframe中的链接将在父窗口中打开。
  • iframe中的CSS将添加到整个文档的级联中。
  • iframe页面的根元素被视为iframe的子元素。
  • iframe的宽度和高度的设置方式与其他块级元素的设置方式类似。
  • 当父文档由语音呈现工具(如屏幕阅读器)查看时,iframe将被读取,而不会作为单独的文档宣布。

父文档上的任何脚本都会以相同的方式影响iframe文档。例如,如果一个脚本列出了页面上的所有帧,那么iframe中的链接也将列出。

换句话说,无缝属性不仅仅是从iframe中删除边框。如果您要将iframe设置为无缝的,那么您应该非常确定其内容,这样您就不会因为嵌入恶意网站而给您的网站增加任何安全风险。

  • 发表于 2021-09-04 22:24
  • 阅读 ( 113 )
  • 分类:IT

你可能感兴趣的文章

用jotform在几分钟内从trello构建您自己的表单

...设置”和“发布”。从Build选项卡开始,您可以重新排列元素、调整元素属性、添加新元素以及使用窗体设计器设置窗体样式。 ...

  • 发布于 2021-03-14 02:35
  • 阅读 ( 477 )

部门(div)和跨度(span)的区别

和是定义HTML代码中元素的HTML标记。 HTML(超文本标记语言)是一种结构化代码,用于构建和显示我们每天在任何设备上在线访问的网页。 其他技术和编程语言可以与HTML集成,在网站上提供动态和高级功能。 了解html 超文...

  • 发布于 2021-06-24 23:59
  • 阅读 ( 253 )

框架(frame)和html中的框架集(frameset in html)的区别

...,有助于构建网站的结构。此外,frame和frameset是两个HTML元素。其中,框架允许将浏览器窗口划分为多个部分,每个部分加载单独的HTML文档。另一方面,框架集是浏览器窗口中框架的集合。 覆盖的关键领域 1.什么是HTML中的框架-...

  • 发布于 2021-07-02 00:27
  • 阅读 ( 380 )

html格式(html)和html5(html5)的区别

...将文档编码为可供人和计算机读取的格式。 HTML是使用HTML元素编写的,HTML元素主要由标记、开始标记和结束标记组成。这些标记之间的数据通常是内容。HTML的主要目标是允许web浏览器解释和显示标记之间写入的内容。标签是用...

  • 发布于 2021-07-13 06:19
  • 阅读 ( 231 )

html5(html5)和xhtml(xhtml)的区别

...将文档编码为可供人和计算机读取的格式。 HTML是使用HTML元素编写的,HTML元素主要由标记、开始标记和结束标记组成。这些标记之间的数据通常是内容。HTML的主要目标是允许web浏览器解释和显示标记之间写入的内容。标签是用...

  • 发布于 2021-07-13 06:29
  • 阅读 ( 198 )

框架(frame)和iframe公司(iframe)的区别

...放置很容易,编码人员可以很容易地将标签放在其他网页元素中,如果他愿意,还可以添加几个iframe。另一方面,在帧集中放置帧有点复杂。编码器需要调整帧大小以正确显示它们。与iFrame相比,框架的宽度尺寸调整非常困难。...

  • 发布于 2021-07-13 08:43
  • 阅读 ( 222 )

使用html表元素属性

...用于表,以使它们更有趣并更改页面的外观。 html表元素属性 在HTML5中,元素使用全局属性和一个其他属性,并且它已更改为仅具有值1或空(即border=“”)。如果要更改边框的宽度,应使用border width CSS属性。 请参见下文...

  • 发布于 2021-09-04 21:31
  • 阅读 ( 158 )

如何在网页上放置svg图形(put svg graphics on your webpage)

...嵌入svg 此HTML标记将在网页中嵌入SVG图形。编写带有数据属性的对象标记,以定义要打开的SVG文件。包括以像素为单位的宽度和高度属性,以定义SVG图像的尺寸。 为了实现跨浏览器兼容性,请包括type属性,如下所示: type="im...

  • 发布于 2021-09-04 21:32
  • 阅读 ( 116 )

如何html5中字符编码的最佳元字符集标记(best use meta charset tags for character encoding in html5)

在引入HTML5之前,在带有元素的文档上设置字符编码要求您编写下面所示的有点冗长的行。这是在网页中使用HTML4时的元字符集元素: 在这段代码中需要注意的是在content属性周围看到的引号:content=“text/html;字符集=i...

  • 发布于 2021-09-04 21:58
  • 阅读 ( 153 )

以html iFrame和Frame中的链接为目标

...接都将自动在同一框架中打开。但是通过链接上的属性(元素),可以指定链接将打开的位置。 第一步是使用name属性为iframe指定一个唯一的名称。然后,使用ID作为目标属性的值,将链接指向该帧: &lt;iframe src="example.htm" n...

  • 发布于 2021-09-04 22:21
  • 阅读 ( 150 )
j16350858
j16350858

0 篇文章

相关推荐