Search code examples
htmliframebreakoutiweb

How can I make it so no one can put my iWeb site in an iframe?


If anyone knows, I would like to make it so no one can put my iWeb site in an iframe? How do I make my pages automatically break out of iframes?


Solution

  • This answer applies to this question as well:

    This code will work if it is placed in the HTML that is referenced inside an iframe. The way it works is it looks at top (the page you requested that includes an iframe) and self the page inside the iframe. If there are different then it changes the top.location to match the URL of the iframe.

    Here is some ASCII to help understand this

    |----[OuterPage.html]------|
    |                          |
    |    |--[InnerPage.html]-| |
    |    |                   | |
    |    | top !== self      | |
    |    |                   | |
    |    |-------------------| |
    |                          |
    | top === self             |
    |                          |
    |--------------------------|
    

    If you request InnerPage.html by itself (not in an iframe) then top === self will evaluate to true, however if you request the same page inside an iframe then the same condition will evaluate as false.