Create a gist now

Instantly share code, notes, and snippets.

// Break out of an iframe, if someone shoves your site
// into one of those silly top-bar URL shortener things.
// Passing `this` and re-aliasing as `window` ensures
// that the window object hasn't been overwritten.
// Example:
// var window = 'haha, punked!';
// Note: Probably unnecessary, but just for kicks.
(function(window) {
if (window.location !== { = window.location;
// A more cryptic one-liner, to awe & impress.
// No need to protect `window` since `this` is
// immutable, and at the topmost level means
// `window` anyways. Here, we compare locations
// on the left side of the "&&" and execute the
// code in parenthesis if that condition is
// true (top location isn't iframe location).
// Otherwise, nothing happens. It's basically an
// if statement without wrapping curly brackets.
// Weird, I know. But pretty cool, right? :) !== this.location && ( = this.location);

I felt inspired to share, after seeing Chris' snippet over at CSS Tricks...


If you want to use iFrames on your own site, you probably want to compare instead. !== this.location.hostname && ( = this.location);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment