iframe

< html‎ | elements
Jump to: navigation, search

iframe

This article is In Progress.


W3C Recommendation

Summary

The iframe element (<iframe>) introduces a new nested browsing context.


Overview Table

DOM Interface HTMLIFrameElement

Iframes are one the best ways to build up a complex, detailed webpage from smaller, more manageable chunks. By using iframe tags, a developer can include webpages as part of a larger, enompassing parent page. Unlike frames, iframes can be styled through CSS and easily molded to fit seamlessly within the parent page. One neat use of an iframe is to display a custom Google map within the page. This can be done by setting the 'src' attribute of the iframe tag to Google Map URL.

Examples

This example embeds http://example.com/ via an IFrame element.

HTML

<iframe id="theFrame" src="http://example.com/"></iframe>

This example shows how to grab the Document contained within an IFrame element (note that you may only reach down into an IFrame if the page it has loaded is same-origin).

JavaScript

var frameDoc = document.getElementById("theFrame").contentDocument;

Usage

The developer should be careful not to overuse iframes, because they dramatically slow down the rendering of a page. For each extra iframe, the browser has to make an extra request to the server.

Notes

Remarks

The iframe element functions as a document within a document, or like a floating frame. The frames collection provides access to the contents of an iframe. Use the frames collection to read or write to elements contained in an iframe. For example, the syntax for accessing the backgroundColor style of the body object in an iframe is:

sColor = document.frames("sFrameName").document.body.style.backgroundColor;

You can access the iframe object's properties, but not its contents, through the object model of the page where the iframe object resides. For example, the syntax for accessing the border style of the iframe object is:

sBorderValue = document.all.oFrame.style.border;

Note  Properties of the iframe must be accessed using the prefix, document.all, for example, document.all.iframeId.marginWidth.

Security Warning:   To protect user privacy and safeguard your applications, Windows Internet Explorer restricts some interactions between frames that host Web pages from different domains. To treat the content of the iframe as if it were in the Restricted Sites zone, set the SECURITY attribute to "restricted." For more information about using the Dynamic HTML (DHTML) object model with the frame and iframe objects, see About Cross-Frame Scripting and Security and Security Considerations: Dynamic HTML. Windows Internet Explorer 8 and later. The values of the longDesc and src attributes depend on the current document compatibility mode. Windows Internet Explorer 7 and later. For security reasons, resizing is disabled for iframe objects that display content hosted on a domain different from the domain hosting the parent document. If you trust the content you are loading into an iframe object, you can enable resizing by specifying values for the minWidth and maxWidth attributes of the iframe element in the source of the parent document. You must specify values for both attributes to enable resizing. Microsoft Internet Explorer 5.5 supports transparent content with inline floating frames. The following conditions must be met to define transparent content for inline floating frames.

  1. The allowTransparency attribute, used with the iframe element, must be set to true.
  2. In the iframe content source document, the backgroundColor attribute of the body element must be set to transparent.

Using Transparency with Inline Floating Frames

Standards information


HTML information

Closing Tag required
CSS Display block

Members

The iframe object has these types of members:

  • [#events Events]
  • [#methods Methods]
  • [#properties Properties]


Events

The iframe object has these events.

Event Description
onabort Fires when the user aborts the download.
onactivate Fires when the object is set as the active element.
onafterupdate Fires on a databound object after successfully updating the associated data in the data source object.
onbeforecopy Fires on the source object before the selection is copied to the system clipboard.
onbeforedeactivate Fires immediately before the activeElement is changed from the current object to another object in the parent document.
onbeforeupdate Fires on a databound object before updating the associated data in the data source object.
onblur Fires when the object loses the input focus.
oncellchange Fires when data changes in the data provider.
onchange Fires when the contents of the object or selection have changed.
oncontrolselect Fires when the user is about to make a control selection of the object.
ondataavailable Fires periodically as data arrives from data source objects that asynchronously transmit their data.
ondatasetchanged Fires when the data set exposed by a data source object changes.
ondatasetcomplete Fires to indicate that all data is available from the data source object.
ondeactivate Fires when the activeElement is changed from the current object to another object in the parent document.
onerror Fires when an error occurs during object loading.
onerrorupdate Fires on a databound object when an error occurs while updating the associated data in the data source object.
onfilterchange Fires when a visual filter changes state or completes a transition.
onfocus Fires when the object receives focus.
oninput Occurs when the text content of an element is changed through the user interface.
onlayoutcomplete Fires when the print or print preview layout process finishes filling the current LayoutRect object with content from the source document.
onload Fires immediately after the client loads the object.
onmove Fires when the object moves.
onmoveend Fires when the object stops moving.
onmovestart Fires when the object starts to move.
onreadystatechange Fires when the state of the object has changed.
onreset Fires when the user resets a form.
onresize Fires when the size of the object is about to change.
onresizeend Fires when the user finishes changing the dimensions of the object in a control selection.
onresizestart Fires when the user begins to change the dimensions of the object in a control selection.
onrowenter Fires to indicate that the current row has changed in the data source and new data values are available on the object.
onrowexit Fires just before the data source control changes the current row in the object.
onrowsdelete Fires when rows are about to be deleted from the recordset.
onrowsinserted Fires just after new rows are inserted in the current recordset.
onscroll Fires when the user repositions the scroll box in the scroll bar on the object.
onselect Fires when the current selection changes.

 

Methods

The iframe object has these methods.

Method Description
addBehavior Attaches a behavior to the element.

This method is not supported for Metro style apps using JavaScript.

appendChild Appends an element as a child to the object.
applyElement Makes the element either a child or parent of another element.
attachEvent Binds the specified function to an event, so that the function gets called whenever the event fires on the object.
blur Causes the element to lose focus and fires the onblur event.
clearAttributes Removes all attributes and values from the object.
click Simulates a click by causing the onclick event to fire.
cloneNode Copies a reference to the object from the document hierarchy.
compareDocumentPosition Compares the position of two nodes in a document.
componentFromPoint Returns the component located at the specified coordinates via certain events.
contains Checks whether the given element is contained within the object.
detachEvent Unbinds the specified function from the event, so that the function stops receiving notifications when the event fires.
doScroll Simulates a click on a scroll bar component.
dragDrop Initiates a drag event.
fireEvent Fires a specified event on the object.
focus Causes the element to receive the focus and executes the code specified by the onfocus event.
getAdjacentText Returns the adjacent text string.
getAttribute Retrieves the value of the specified attribute.
getAttributeNode Retrieves an attribute object referenced by the attribute.name property.
getAttributeNodeNS Gets an attribute object that matches the specified namespace and name.
getAttributeNS Gets the value of the specified attribute within the specified namespace.
getElementsByClassName Gets a collection of objects that are based on the value of the CLASS attribute.
getElementsByTagName Retrieves a collection of objects based on the specified element name.
getElementsByTagNameNS Gets a collection of objects that are based on the specified element names within a specified namespace.
getSVGDocument Gets Document object for the referenced document, or null if there is no document.
hasAttribute Determines whether an attribute with the specified name exists.
hasAttributeNS Determines whether an attribute that has the specified namespace and name exists.
hasAttributes Determines whether one or more attributes exist for the object.
hasChildNodes Returns a value that indicates whether the object has children.
insertAdjacentElement Inserts an element at the specified location.
insertAdjacentHTML Inserts the given HTML text into the element at the location.
insertAdjacentText Inserts the given text into the element at the specified location.
insertBefore Inserts an element into the document hierarchy as a child node of a parent object.
isDefaultNamespace Indicates whether or not a namespace is the default namespace for a document.
isEqualNode Determines if two nodes are equal.
isSameNode Determines if two node references refer to the same node.
isSupported Returns a value indicating whether or not the object supports a specific DOM standard.
lookupNamespaceURI Gets the URI of the namespace associated with a namespace prefix, if any.
lookupPrefix Gets the namespace prefix associated with a URI, if any.
mergeAttributes Copies all read/write attributes to the specified element.
msMatchesSelector Determines whether an object matches the specified selector.
normalize Merges adjacent DOM objects to produce a normalized document object model.
removeAttribute Removes an attribute from an object.
removeAttributeNode Removes an attribute object from the object.
removeAttributeNS Removes the specified attribute from the object.
removeBehavior Detaches a behavior from the element.
removeChild Removes a child node from the object.
removeNode Removes the object from the document hierarchy.
replaceAdjacentText Replaces the text adjacent to the element.
replaceChild Replaces an existing child element with a new child element.
replaceNode Replaces the object with another element.
scrollIntoView Causes the object to scroll into view, aligning it either at the top or bottom of the window.
setActive Sets the object as active without setting focus to the object.
setAttribute Sets the value of the specified attribute.
setAttributeNode Sets an attribute object node as part of the object.
setAttributeNodeNS Sets an attribute object as part of the object.
setAttributeNS Sets the value of the specified attribute within the specified namespace.
setCapture Sets the mouse capture to the object that belongs to the current document.
swapNode Exchanges the location of two objects in the document hierarchy.

 

Properties

The iframe object has these properties.

Property Description
align Sets or retrieves a value that indicates the table alignment.
allowTransparency Sets or retrieves whether the object can be transparent.
ATOMICSELECTION Specifies whether the element and its contents must be selected as a whole, indivisible unit.
attributes Retrieves a collection of attributes of the object.
border Sets or retrieves the space between the frames, including the 3-D border.
canHaveChildren Gets a value indicating whether the object can contain child objects.
canHaveHTML Retrieves the value indicating whether the object can contain rich HTML markup.
childElementCount Retrieves the number of immediate child nodes of the current element or a zero if the element does not contain any child nodes. childElementCount does not return all child nodes, only child nodes that are nodeType =1, or element nodes.
className Sets or retrieves the class of the object.
constructor Returns a reference to the constructor of an object.
contentDocument Retrieves the document object of the page or frame.
contentWindow Retrieves the

object of the specified .

dataFld Sets or retrieves a field of a given data source, as specified by the dataSrc property, to bind to the specified object.
dataSrc Sets or retrieves the source of the data for data binding.
firstChild Gets a reference to the first child in the childNodes collection of the object.
firstElementChild Retrieves a reference to the first child element, or NULL if there are no child elements.
frameBorder Sets or retrieves whether to display a border for the frame.
frameSpacing Sets or retrieves the amount of additional space between the frames.
height Sets or retrieves the height of the object.
hideFocus Sets or gets the value that indicates whether the object visibly shows that it has focus.
hspace Sets or retrieves the horizontal margin for the object.
id Sets or retrieves the string identifying the object.
innerHTML Sets or retrieves the HTML between the start and end tags of the object.
innerText Sets or retrieves the text between the start and end tags of the object.
isContentEditable Gets the value that indicates whether the user can edit the contents of the object.
isDisabled Gets the value that indicates whether the user can interact with the object.
isMultiLine Retrieves the value indicating whether the content of the object contains one or more lines.
isTextEdit Retrieves whether a TextRange object can be created using the object.
lang Sets or retrieves the language to use.
language Sets or retrieves the language in which the current script is written.
lastChild Gets a reference to the last child in the childNodes collection of an object.
lastElementChild Retrieves a reference to the last child element or NULL if there are no child elements.
localName Retrieves the local name of the fully qualified XML declaration for a node.
longDesc Sets or retrieves a URI to a long description of the object.
marginHeight Sets or retrieves the top and bottom margin heights before displaying the text in a frame.
marginWidth Sets or retrieves the left and right margin widths before displaying the text in a frame.
name Sets or retrieves the frame name.
namespaceURI Retrieves the namespace URI of the fully qualified XML declaration for a node.
nextElementSibling Retrieves a reference to the sibling element that immediately follows or NULL if the element does not have any sibling elements that follow it.
nextSibling Retrieves a reference to the next child of the parent for the object.
nodeName Gets the name of a particular type of node.
nodeType Retrieves the type of the requested node.
nodeValue Gets or sets the value of a node.
noResize Sets or retrieves whether the user can resize the frame.
offsetHeight Retrieves the height of the object relative to the layout or coordinate parent, as specified by the offsetParent property.
offsetLeft Retrieves the calculated left position of the object relative to the layout or coordinate parent, as specified by the offsetParent property.
offsetParent Retrieves a reference to the container object that defines the offsetTop and offsetLeft properties of the object.
offsetTop Retrieves the calculated top position of the object relative to the layout or coordinate parent, as specified by the offsetParent property.
offsetWidth Retrieves the width of the object relative to the layout or coordinate parent, as specified by the offsetParent property.
outerHTML Sets or retrieves the object and its content in HTML.
outerText Sets or retrieves the text of the object.
ownerDocument Retrieves the document object associated with the node.
parentElement Retrieves the parent object in the object hierarchy.
parentNode Retrieves the parent object in the document hierarchy.
parentTextEdit Retrieves the container object in the document hierarchy that can be used to create a TextRange containing the original object.
prefix Retrieves the local name of the fully qualified XML declaration for a node.
previousElementSibling Retrieves a reference to the immediately preceding sibling element or NULL if the element does not have any preceding siblings.
previousSibling Gets a reference to the previous child of the parent for the object.
readyState Retrieves the current state of the object.
readyState Retrieves a value that indicates the current state of the object.
recordNumber Retrieves the ordinal record from the data set that generated the object.
role Sets or retrieves the role for this element.
sandbox Enables security restrictions for iframe elements that contain potentially untrusted content.
scopeName Gets the namespace defined for the element.

This property is not supported for Metro style apps using JavaScript.

scrolling Sets or retrieves whether the frame can be scrolled.
security Sets the value indicating whether the source file of a frame or iframe has specific security restrictions applied.

This attribute is not supported for Metro style apps using JavaScript.

sourceIndex Retrieves the ordinal position of the object, in source order, as the object appears in the document's all collection.
src Sets or retrieves a URL to be loaded by the object.
STYLE Sets an inline style for the element.
tabIndex Sets or retrieves the index that defines the tab order for the object.
tagName Retrieves the tag name of the object.
tagUrn Sets or gets the URN specified in the namespace declaration.

This property is not supported for Metro style apps using JavaScript.

textContent Sets or retrieves the text content of an object and any child objects.
title Sets or retrieves advisory information (a ToolTip) for the object.
uniqueID Retrieves an autogenerated, unique identifier for the object.
uniqueNumber Retrieves the element's unique number.
vspace Sets or retrieves the vertical margin for the object.
width Sets or retrieves the width of the object.

 

Compatibility

Desktop

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support ? ? ? ? ?

Mobile

Feature Android BlackBerry Chrome for mobile Firefox Mobile (Gecko) IE Mobile Opera Mobile Opera Mini Safari Mobile
Basic support ? ? ? ? ? ? ? ?

See also

External resources

http://www.w3.org/TR/html-markup/iframe.html#iframe

Related pages (MSDN)

  • Using IFRAME Elements

Attribution

This article contains content originally from external sources.

Portions of this content come from the Microsoft Developer Network: [Windows Internet Explorer API reference Article]