Skip to main content

As a page, can I tell if I"ve been loaded into an iframe using javascript?



I'm loading a page into an iframe. Both pages are on the same domain. I want the page being loaded to do specific js functionality only if it has been loaded into an iframe. Is this possible?





Bonus: can it be done in jQuery?





Thanks


Comments

  1. or just:

    var isEmbed = window != window.parent;

    ReplyDelete
  2. You could use iframe's onload event:

    <html>
    <head>
    <script type="text/javascript">
    function load()
    {
    alert("Iframe is loaded");
    }
    </script>
    </head>

    <iframe onload="load()" src="/page.html">
    </iframe>
    </html>

    ReplyDelete
  3. You can check if you are in an iframe using this snippet:

    var isInIframe = (window.location != window.parent.location) ? true : false;


    based on that you can continue with your javascript code.

    ReplyDelete
  4. Probably the simplest method:

    if ( self !== top ) {
    // you're in an iframe
    }


    So, you check if the current window is the topmost window...

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?