Search code examples
javascriptinternet-exploreriframesafariwebkit

Is window.frameElement (for same-origin iframes) supported across all browsers?


I have googled as much as I can and I'm not sure of the support for the document of an iframe getting the id of itself in the parent window: window.frameElement.id. There are so many browsers that it's hard to test them all and nothing online seems to have any information. I'm specifically wondering about:

Safari iOS Safari Windows Phone IE IE 7, 8, 9, 10, 11

(I tested Firefox and Chrome and they both worked).

EXAMPLE IFRAME CONTENT

<!DOCTYPE HTML>
<html>
    <head></head>
<body>
        <script type="text/javascript">
            var owner = window.frameElement;
            var thisIsWhoIsCalling = ( owner !== null ) ? owner.id : null;
            window.parent.SomeJavaScriptObject.someFunction( thisIsWhoIsCalling );
        </script>
    </body>
</html>

Solution

  • I happened to look for the same information. Here's what I have found.

    https://developer.mozilla.org/en-US/docs/Web/API/Window.frameElement

    I have tested some browsers in addition to the MDN doc, and confirmed that it is supported by IE7+, Safari, Firefox, Chrome. So pretty much all browsers.

    I haven't tested on IE6-, but I guess you don't need to care.