2023-04-25 13:25:59 +02:00

3.4 KiB
Executable File

IFrame Page Methods

These methods are available in the iFrame via the window.parentIFrame object. These method should be contained by a test for the window.parentIFrame object, in case the page is not loaded inside an iFrame. For example:

if ('parentIFrame' in window) {
  parentIFrame.close()
}

autoResize([bool])

Turn autoResizing of the iFrame on and off. Returns bool of current state.

close()

Remove the iFrame from the parent page.

getId()

Returns the ID of the iFrame that the page is contained in.

getPageInfo(callback || false)

Ask the containing page for its positioning coordinates. You need to provide a callback which receives an object with the following properties:

  • iframeHeight The height of the iframe in pixels
  • iframeWidth The width of the iframe in pixels
  • offsetLeft The number of pixels between the left edge of the containing page and the left edge of the iframe
  • offsetTop The number of pixels between the top edge of the containing page and the top edge of the iframe
  • scrollLeft The number of pixels between the left edge of the iframe and the left edge of the iframe viewport
  • scrollTop The number of pixels between the top edge of the iframe and the top edge of the iframe viewport
  • documentHeight The containing document's height in pixels (the equivalent of document.documentElement.clientHeight in the container)
  • documentWidth The containing document's width in pixels (the equivalent of document.documentElement.clientWidth in the container)
  • windowHeight The containing window's height in pixels (the equivalent of window.innerHeight in the container)
  • windowWidth The containing window's width in pixels (the equivalent of window.innerWidth in the container)
  • clientHeight (deprecated) The height of the containing document, considering the viewport, in pixels (max(documentHeight, windowHeight)).
  • clientWidth (deprecated) The width of the containing document, considering the viewport, in pixels (max(documentWidth, windowWidth)).

Your callback function will be recalled when the parent page is scrolled or resized.

Pass false to disable the callback.

scrollTo(x,y)

Scroll the parent page to the coordinates x and y.

scrollToOffset(x,y)

Scroll the parent page to the coordinates x and y relative to the position of the iFrame.

sendMessage(message,[targetOrigin])

Send data to the containing page, message can be any data type that can be serialized into JSON. The targetOrigin option is used to restrict where the message is sent to; to stop an attacker mimicking your parent page. See the MDN documentation on postMessage for more details.

setHeightCalculationMethod(heightCalculationMethod)

Change the method use to workout the height of the iFrame.

size ([customHeight],[ customWidth])

Manually force iFrame to resize. This method optionally accepts two arguments: customHeight & customWidth. To use them you need first to disable the autoResize option to prevent auto resizing and enable the sizeWidth option if you wish to set the width.

iFrameResize({
  autoResize: false,
  sizeWidth: true
})

Then you can call the size method with dimensions:

if ('parentIFrame' in window) {
  parentIFrame.size(100); // Set height to 100px
}