mozilla
您的搜索结果

    <iframe>

    这篇翻译不完整。请帮忙从英语翻译这篇文章

    概述

    HTML中的<iframe>标签(又称内联框架元素)表示了一个嵌套的浏览上下文(browsing context),实际上是用来在当前页面中内嵌另一个HTML页面。在HTML4.0.1中,文档(document)可以包含一个head和一个body组合或者包含一个head和一个框架集(frame-set)组合,但不能同时包含bodyframe-set。然而<iframe>标签可以插入到一个正常的文档体中(document body)。每个浏览上下文(browsing context)都有自己的会话历史和活动文档。包含其它嵌入内容的浏览上下文(browsing context)称作父级浏览上下文(parent browsing context)。顶层(top-level)浏览上下文(不再拥有父窗体的)一般就是浏览器的window对象。

    属性

    该元素包含全局属性

    align 已废弃 HTML4.01, 已废弃 HTML5
    The alignment of this element with respect to the surrounding context.
    frameborder HTML 4 only
    The value 1 (the default) tells the browser to draw a border between this frame and every other frame. The value 0 tells the browser not to draw a border between this frame and other frames.
    height
    以CSS像素格式HTML5,或像素格式HTML 4.01,或百分比格式指定frame的高度。
    longdesc HTML 4 only
    A URI of a long description of the frame. Due to widespread misuse, this is not helpful for non-visual browsers.
    marginheight HTML 4 only
    框架内容到框架的上下边距,以像素格式表示。
    marginwidth HTML 4 only
    框架内容到框架的左右边距,以像素格式表示。
    mozallowfullscreen
    In Gecko 9.0 or later, this attribute can be set to true if the frame is allowed to be placed into full screen mode by calling its element.mozRequestFullScreen() method. If this isn't set, the element can't be placed into full screen mode.
    webkitallowfullscreen
    In Chrome 17 or later (and maybe earlier), this attribute can be set to true if the frame is allowed to be placed into full screen mode by calling its element.webkitRequestFullScreen() method. If this isn't set, the element can't be placed into full screen mode.
    mozapp Only available on Firefox OS
    For frames hosting an open web app, this specifies the URL of the app manifest. This ensures that the app is loaded with the right permissions. See Using the Browser API for details. Available in Gecko 13.0 and later.
    mozbrowser Only available on Firefox OS
    Indicates that the frame is to appear like a top-level browser window to the embedded content. This means that window.top, window.parent, window.frameElement, etc. will not reflect the frame hierarchy. This allows for a web browser UI to be implemented entirely with web technology, given the right permissions. See Using the Browser API for details. Available in Gecko 13.0 and later.
    name
    嵌入的浏览上下文(框架)的名称。该名称可以用作<a>标签,<form>标签的target属性值,或<input> 标签和 <button>标签的formtaget属性值。
    remote Only available on Firefox OS
    Load the frame's page in a separate content process.
    scrolling HTML 4 only
    Enumerated attribute indicating when the browser should provide a scroll bar (or other scrolling device) for the frame:
    • auto: Only when needed.
    • yes: Always provide a scroll bar.
    • no: Never provide a scoll bar.
    sandbox HTML5 only
    如果指定了空字符串,该属性对呈现在iframe框架中的内容启用一些额外的限制条件。属性值可以是用空格分隔的一系列指定的字符串。有效的值有:
     
    • allow-same-origin: 允许将内容作为普通来源对待。如果未使用该关键字,嵌入的内容将被视为一个独立的源。
    • allow-top-navigation:嵌入的页面的上下文可以导航(加载)内容到顶级的浏览上下文环境(browsing context)。如果未使用该关键字,这个操作将不可用。
    • allow-forms: 允许嵌入的浏览上下文可以提交表单。如果该关键字未使用,该操作将不可用。
    • allow-scripts: 允许嵌入的浏览上下文运行脚本(但不能window创建弹窗)。如果该关键字未使用,这项操作不可用。

    注意:

    • 当被嵌入的文档与主页面同源时,强烈建议不要同时使用 allow-scripts 和allow-same-origin ,否则的话将允许嵌入的文档通过代码删除 sandbox 属性。虽然你可以这么做,但是这样的话其安全性还不如不用sandbox。
    • 如果攻击者可以将潜在的恶意内容往用户的已沙箱化的iframe中显示,那么沙箱操作的安全性将不再可靠。推荐把这种内容放置到独立的专用域中,减小可能的损失。[Sandboxing in general is only of minimal help if the attacker can arrange for the potentially hostile content to be displayed in the user's browser outside a sandboxed iframe. It is recommended that such content should be served from a separate dedicated domain, to limit the potential damage.]
    seamless HTML5 only
    该布尔属性指示浏览器将iframe渲染成容器页面文档的一部分。例如,通过打被包含的文档的链接,在iframe页面的样式被渲染之前,父页面的CSS样式就可以应用在iframe中(除非被其他设置阻止)。
    src
    嵌套页面的URL地址。.
    srcdoc HTML5 only
    该属性值可以是HTML代码,这些代码会被渲染到iframe中,如果同时指定了src属性,srcdoc会覆盖src所指向的页面。该属性最好能与sandbox和seamless属性一起使用。
    width
    以CSS像素格式HTML5,或以像素格式HTML 4.01,或以百分比格式指定frame的宽度。

    脚本

    内联的框架,就像 <frame> 元素一样,会加入 window.frames 伪数组中。

    通过contentWindow属性,脚本可以访问iframe元素所包含的HTML页面的window对象。contentDocument属性则引用了iframe中的文档元素(等同于使用contentWindow.document),但IE8-不支持。

    通过访问window.parent,脚本可以从框架中引用它的父框架的window。

    脚本试图访问的框架内容必须遵守同源策略,并且无法访问非同源的window对象的几乎所有属性。同源策略同样适用于子窗体访问父窗体的window对象。跨域通信可以通过window.postMessage来实现。

    案例

    <script type="text/javascript">
      var iframe = window.getElementsByTagName( "iframe" )[ 0 ];
      alert( "Frame title: " + iframe.contentWindow.title );
    </script>
    
    
    <iframe src="page.html" width="300" height="300">
      <p>Your browser does not support iframes.</p>
    </iframe>

    Notes

    Gecko 6.0 note
    (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3)

    Starting in Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3), rendering of inline frames correctly respects the borders of their containing element when they're rounded using border-radius.

    说明

    Specification Status Comment
    WHATWG HTML Living Standard
    <iframe>
    Living Standard  
    HTML5
    <iframe>
    Candidate Recommendation  
    HTML 4.01 Specification
    <iframe>
    Recommendation  

    浏览器兼容性

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
    Basic support 1.0 (Yes) (Yes) (Yes) (Yes)
    sandbox 4 17.0 (17.0) ? ? ?
    seamless 4 Not supported ? ? ?
    srcdoc 4 Not supported ? ? ?
    allowfullscreen 17 -webkit 9.0 (9.0) -moz Not supported Not supported Not supported
    Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    sandbox ? 17.0 (17.0) ? ? ?
    seamless ? Not supported ? ? ?
    srcdoc ? Not supported ? ? ?
    allowfullscreen ? 9.0 (9.0)-moz Not supported Not supported Not supported
    HTML元素
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
    (快速链接 HTML Category)

    文档标签和贡献者

    Contributors to this page: ziyunfei, ZhangJianxiang, Josephok, manjun.han, ReyCG_sub
    最后编辑者: ReyCG_sub,