Question

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>
Was it helpful?

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.

OTHER TIPS

var frame = window.frameElement;  //Get <iframe> element of the window
if (frame) { window.location.href = "/403.shtml"; ...

This code not working for me in cross browser (FF,Chrome,IE) A prefer this one, working ok and cross browser...

  if (window.self === window.top) window.location.href = "/403.shtml";
//or if (window.self !== window.top) window.location.href = "/403.shtml";
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top