This article is in need of a technical review.
The HTMLIFrameElement interface provides special properties and methods (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of inline frame elements.
Properties
Inherits properties from its parent, HTMLElement.
HTMLIFrameElement.align- Is a
DOMStringthat specifies the alignment of the frame with respect to the surrounding context. HTMLIFrameElement.allowfullscreen- Is a
Booleanthat indicates whether or not the inline frame is willing to be placed into full screen mode. See Using full-screen mode for details. HTMLIFrameElement.contentDocumentRead only- Returns a
Document, the active document in the inline frame's nested browsing context. HTMLIFrameElement.contentWindowRead only- Returns a
WindowProxy, the window proxy for the nested browsing context. HTMLIFrameElement.frameBorder- Is a
DOMStringthat indicates whether to create borders between frames. HTMLIFrameElement.height- Is a
DOMStringthat reflects theheightHTML attribute, indicating the height of the frame. HTMLIFrameElement.longDesc- Is a
DOMStringthat contains the URI of a long description of the frame. HTMLIFrameElement.marginHeight- Is a
DOMStringbeing the height of the frame margin. HTMLIFrameElement.marginWidth- Is a
DOMStringbeing the width of the frame margin. HTMLIFrameElement.name- Is a
DOMStringthat reflects thenameHTML attribute, containing a name by which to refer to the frame. HTMLIFrameElement.sandbox- Is a
DOMSettableTokenListthat reflects thesandboxHTML attribute, indicating extra restrictions on the behavior of the nested content. HTMLIFrameElement.scrolling- Is a
DOMStringthat indicates whether the browser should provide scrollbars for the frame. HTMLIFrameElement.seamless- Is a
Booleanthat reflects theseamlessHTML attribute, indicating that the inline frame should be rendered seamlessly within the parent document. HTMLIFrameElement.src- Is a
DOMStringthat reflects thesrcHTML attribute, containing the address of the content to be embedded. HTMLIFrameElement.srcdoc- Is a
DOMStringthat represents the content to display in the frame. HTMLIFrameElement.width- Is a
DOMStringthat reflects thewidthHTML attribute, indicating the width of the frame.
Methods
Inherits properties from its parent, HTMLElement.
HTMLIFrameElement.setNfcFocusFirefox OS 2.2+ Only- Part of the Firefox OS Browser API, this sets whether an
<iframe>can receive an NFC event.
Specifications
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of 'HTMLIFrameElement' in that specification. |
Living Standard | The following property has been added: allowFullscreen. |
| HTML5 The definition of 'HTMLIFrameElement' in that specification. |
Recommendation | The following properties are now obsolete: scrolling, marginWidth, marginHeight, longDesc, frameBorder, and align.The following properties have been added: srcdoc, sandbox, seamless, and contentWindow. |
| Document Object Model (DOM) Level 2 HTML Specification The definition of 'HTMLIFrameElement' in that specification. |
Recommendation | The contentDocument property has been added. |
| Document Object Model (DOM) Level 1 Specification The definition of 'HTMLIFrameElement' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
| 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] | ? | ? | ? |
seamless |
4 | Not supported | ? | ? | ? |
contentDocument |
(Yes) | (Yes) | 8.0 (for older version use HTMLIFrameElement.contentWindow.document instead) |
(Yes) | (Yes) |
contentWindow |
? | ? | (Yes) | ? | ? |
allowFullScreen |
17 -webkit Daily test builds only |
9.0 (9.0) -moz 18.0 (18.0) |
Not supported | Not supported | Not supported |
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | (Yes) | 1.0 (1.0) | (Yes) | (Yes) | (Yes) |
srcdoc |
4 | 25.0 (25) | ? | ? | ? |
sandbox |
4 | 17.0 (17) [1] | ? | ? | ? |
seamless |
4 | Not supported | ? | ? | ? |
contentDocument |
(Yes) | (Yes) | ? | (Yes) | (Yes) |
contentWindow |
? | ? | ? | ? | ? |
allowFullScreen |
17 -webkit Daily test builds only |
9.0 (9.0) -moz 18.0 (18.0) |
Not supported | Not supported | Not supported |
[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.
Firefox OS notes
Firefox OS extend the HTMLIFrameElement interface to support browser iframes. Those extra methods are made for privileged applications which want to implement a browser like application for Firefox OS devices. Not that in that context, the HTMLIFrameElement also inherit methods from the EventTarget interface. To learn how to implement such applications, see the Using the Browser API article.
HTMLIFrameElement.setVisible(visible)- Allows the parent to explicitly change the visibility state of the browser iframes.
HTMLIFrameElement.getVisible()- Returns the current visibility state of the browser iframe. Returns a
DOMRequest. HTMLIFrameElement.sendMouseEvent(type, x, y, button, clickCount, modifiers)- Send a mouse event to the browser iframe.
HTMLIFrameElement.sendTouchEvent(type, identifiers, touchesX, touchesY,radiisX, radiisY, rotationAngles, forces,count, modifiers)- Send a touch event to the browser iframe.
HTMLIFrameElement.goBack()- Navigate the browser iframe back.
HTMLIFrameElement.goForward()- Navigate the browser iframe forward.
HTMLIFrameElement.reload()- Reload the browser iframe.
HTMLIFrameElement.stop()- Stop loading the browser iframe content.
HTMLIFrameElement.purgeHistory()- Allows to remove the all browsing history of the browser iframe.
HTMLIFrameElement.getScreenshot(maxWidth, maxHeight)- Allows to take a screenshot of the browser iframe's content, scaled to fit within
maxWidthandmaxHeightpixels. Returns aDOMRequest. HTMLIFrameElement.addNextPaintListener()- Add a listener to recieve an event the first time the browser iframe is ready to paint (This listener is sent an event after the first
MozAfterPaintevent is dispacted in the iframe.) HTMLIFrameElement.removeNextPaintListener()- Remove the listener added by the previous function.
HTMLIFrameElement.getCanGoBack()- Returns a
DOMRequestwhichresultis a boolean indicating wether the browser iframe can be navigate backward. HTMLIFrameElement.getCanGoForward()- Returns a
DOMRequestwhichresultis a boolean indicating wether the browser iframe can be navigate forward.
See also
- The HTML element implementing this interface:
<iframe>