We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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

HTMLIFrameElement 接口提供了除 HTMLElement 之外的一些特殊属性和方法(当然也包括了继承自 HTMLElement 的部分)。这些方法用于操作内联frame元素的布局和展示。

属性

继承了来自父类的属性,HTMLElement

HTMLIFrameElement.align
一个 DOMString 指定了相对于当前上下文的对齐方式。
HTMLIFrameElement.allowfullscreen
一个 Boolean 标识了该内联frame是否愿意被全屏防止。详情请参考 Using full-screen mode 。
HTMLIFrameElement.contentDocument 只读
返回一个 Document,该内联frame嵌套的浏览上下文中活跃的document对象。
HTMLIFrameElement.contentWindow 只读
返回一个 WindowProxy,该嵌套的浏览上下文中的window代理。
HTMLIFrameElement.frameBorder
一个 DOMString 标识了是否在frame之间创建边框。
HTMLIFrameElement.height
一个 DOMString 反映着 height HTML 属性,标识了该frame的高度。
HTMLIFrameElement.longDesc
一个 DOMString 包含着该frame的详细描述的URI。
HTMLIFrameElement.marginHeight
一个 DOMString ,该frame的外边距高度。
HTMLIFrameElement.marginWidth
一个 DOMString ,该frame的外边距宽度。
HTMLIFrameElement.name
一个 DOMString 反映着 name HTML 属性,包含着用来引用该frame的名字。
HTMLIFrameElement.referrerPolicy
一个 DOMString 反映着 referrerpolicy HTML 属性,标识了获取关联资源时要使用哪个referrer。
HTMLIFrameElement.sandbox
一个 DOMSettableTokenList 反映着 sandbox HTML 属性,指示着对嵌套内容额外的限制。
HTMLIFrameElement.scrolling
一个 DOMString 指示着浏览器是否应该为该frame提供滚动条。
HTMLIFrameElement.src
一个 DOMString 反映着 src HTML 属性,包含被嵌入内容的地址。
HTMLIFrameElement.srcdoc
一个 DOMString ,表示该frame中要显示的内容。
HTMLIFrameElement.width
一个 DOMString 反映着 width HTML 属性,标识着该frame的宽度。

方法

继承了来自父类的属性,HTMLElement

浏览器 API 方法

为支持浏览器<iframe>的需求,HTMLIFrameElement已经扩展了一些新的方法来让<iframe>有更多的能力。他们并未成为规范(参见 Browser compatibility)。

导航方法

以下导航方法允许通过<iframe>的浏览历史进行导航。他们对于后退、前进、停止和重新加载按钮的实现而言是非常必须的。

HTMLIFrameElement.reload()
重新加载<iframe>元素内容。
HTMLIFrameElement.stop()
停止加载<iframe>元素内容。
HTMLIFrameElement.getCanGoBack()
指示是否可以后退。
HTMLIFrameElement.goBack()
改变<iframe>位置到上一个浏览历史记录的位置。
HTMLIFrameElement.getCanGoForward()
指示是否可以前进。
HTMLIFrameElement.goForward()
改变<iframe>位置到下一个浏览历史记录的位置。

管理方法

这个方法集管理浏览器<iframe>所用的资源。它们对于实现分页浏览程序非常有用。

HTMLIFrameElement.executeScript()
在浏览器<iframe>页面加载完成后执行指定的脚本。
HTMLIFrameElement.purgeHistory()
清理所有与浏览器<iframe>有关的资源(cookies,本地存储,缓存等 )。
HTMLIFrameElement.setVisible()
修改浏览器<iframe>的可见性。这会影响资源分配和一些函数的资源占用率,如requestAnimationFrame
HTMLIFrameElement.getVisible()
指示当前浏览器<iframe>的可见性。
HTMLIFrameElement.setActive()
设置当前<iframe>为活动frame,对进程管理器如何划分优先级有影响。
HTMLIFrameElement.getActive()
指示当前浏览器<iframe>是否为当前活动的frame。
HTMLIFrameElement.setInputMethodActive()
设置当前浏览器<iframe>是活动的输入法编辑器窗口而其他不是。当一个顶层应用希望激活一个窗口作为输入法编辑器(如键盘)时有用。
HTMLIFrameElement.setNfcFocus() 只支持Gecko移动设备(Gecko2.2+以上)
Firefox 操作系统 NFC API 的一部分,扩展了Browser API,这个集合设置浏览器<iframe>是否可以接收一个NFC事件。

音频相关方法

以下方法允许直接控制浏览器元素的声音。

HTMLIFrameElement.getVolume() 只支持Gecko移动设备(Gecko2.5+以上)
获取浏览器<iframe>当前音量。
HTMLIFrameElement.setVolume() 只支持Gecko移动设备(Gecko2.5+以上)
设置浏览器<iframe>当前音量。
HTMLIFrameElement.mute() 只支持Gecko移动设备(Gecko2.5+以上)
浏览器<iframe>播放的所有音频静音。
HTMLIFrameElement.unmute() 只支持Gecko移动设备(Gecko2.5+以上)
取消浏览器<iframe>播放所有音频的静音。
HTMLIFrameElement.getMuted() 只支持Gecko移动设备(Gecko2.5+以上)
指示当前浏览器<iframe>当前是否被静音。

Search methods

New methods are provided to allow programmatic searches of browser <iframe>s to be carried out.

HTMLIFrameElement.findAll() 只支持Gecko移动设备(Gecko2.5+以上)
Searches for a string in a browser <iframe>'s content; if found, the first instance of the string relative to the caret position will be highlighted.
HTMLIFrameElement.findNext() 只支持Gecko移动设备(Gecko2.5+以上)
Highlights the next or previous instance of a search result after a findAll() search has been carried out.
HTMLIFrameElement.clearMatch() 只支持Gecko移动设备(Gecko2.5+以上)
Clears any content highlighted by findAll() or findNext().

In order to manage the browser <iframe>'s content, many new events were added (see below). The following methods are used to deal with those events:

The <iframe> gains support for the methods of the EventTarget interface
addEventListener(), removeEventListener(), and dispatchEvent().
HTMLIFrameElement.sendMouseEvent()
Sends a MouseEvent to the <iframe>'s content.
HTMLIFrameElement.sendTouchEvent()
Sends a TouchEvent to the <iframe>'s content. Note that this method is available for touch enabled devices only.
HTMLIFrameElement.addNextPaintListener()
Defines a handler to listen for the next MozAfterPaint event in the browser <iframe>.
HTMLIFrameElement.removeNextPaintListener()
Removes a handler previously set with addNextPaintListener().

Utility methods

Last, there are some utility methods, useful for apps that host a browser <iframe>.

HTMLIFrameElement.download()
Downloads a specified URL, storing it at the specified filename/path.
HTMLIFrameElement.getContentDimensions()
Retrieves the X and Y dimensions of the content window.
HTMLIFrameElement.getManifest() 只支持Gecko移动设备(Gecko2.5+以上)
Retrieves the manifest of an app loaded in the browser <iframe> and returns it as JSON.
HTMLIFrameElement.getScreenshot()
Takes a screenshot of the browser <iframe>'s content. This is particularly useful to get thumbnails of tabs in a tabbed browser app.
HTMLIFrameElement.getStructuredData() 只支持Gecko移动设备(Gecko2.5+以上)
Retrieves any structured microdata (and hCard and hCalendar microformat data) contained in the HTML loaded in the browser <iframe> and returns it as JSON.
HTMLIFrameElement.zoom()
Changes the zoom factor of the browser <iframe>'s content. This is particularly useful for zooming in/out on non-touch-enabled devices.

Specifications

Specification Status Comment
Referrer Policy
referrer attribute
Candidate Recommendation Added the referrerPolicy property.
HTML Living Standard
HTMLIFrameElement
Living Standard The following property has been added: allowFullscreen.
HTML5
HTMLIFrameElement
Recommendation The following properties are now obsolete: scrolling, marginWidth, marginHeight, longDesc, frameBorder, and align.
The following properties have been added: srcdoc, sandbox, and contentWindow.
Document Object Model (DOM) Level 2 HTML Specification
HTMLIFrameElement
Obsolete The contentDocument property has been added.
Document Object Model (DOM) Level 1 Specification
HTMLIFrameElement
Obsolete Initial definition.

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes) 1.0 (1.7 or earlier) (Yes) (Yes) (Yes)
srcdoc 4 25 (25) ? ? ?
sandbox 4 17 (17)[1] ? ? ?
contentDocument (Yes) (Yes) 8.0[3] (Yes) (Yes)
contentWindow ? ? (Yes) ? ?
allowFullScreen 17 -webkit[4] 9.0 (9.0) -moz
18.0 (18.0)
未实现 未实现 未实现
referrerPolicy 未实现 50 (50) 未实现 未实现 未实现
Browser API methods 未实现 未实现[5] 未实现 未实现 未实现
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support (Yes) 1.0 (1.0) 1.0.1 (Yes) (Yes) (Yes)
srcdoc 4 25.0 (25) 1.1 ? ? ?
sandbox 4 17.0 (17)[1] 1.0.1 ? ? ?
seamless 4 未实现 未实现 ? ? ?
contentDocument (Yes) (Yes) 1.0.1 ? (Yes) (Yes)
contentWindow ? ? 1.0.1 ? ? ?
allowFullScreen 17 -webkit[4] 9.0 (9.0) -moz
18.0 (18.0)
1.0.1 未实现 未实现 未实现
referrerPolicy 未实现 50.0 (50) 2.5 未实现 未实现 未实现
Browser API methods 未实现 未实现 1.0.1[2] 未实现 未实现 未实现
  • [1] Previously, the type of sandbox was a DOMString instead of a DOMSettableTokenList. This has been fixed with Gecko 29.0 (Firefox 29 / Thunderbird 29 / SeaMonkey 2.26)) (bug 845067). Other browsers may still implement the property as DOMString since it was a late change in the specification.
  • [2] Requires privileged app, and browser and/or embed-apps permissions, depending on what you want to do. See Using the Browser API for more details. Most of the proprietary Browser API methods are supported from Firefox OS 1.0.1 onwards; they are marked where this is not the case.
  • [3] For older version use HTMLIFrameElement.contentWindow.document instead.
  • [4] Daily test builds only.
  • [5] Supported in chrome code only.

See also

  • The HTML element implementing this interface: <iframe>

文档标签和贡献者

此页面的贡献者: Ratin, harttle
最后编辑者: Ratin,