I'm trying to convince a page that it is the window.top even though it is in an iframe.
In FF you can do
window.defineGetter('top', function() { return window});
in Webkit (Safari/Chrome) you can simply do
window.top = window
but in IE none of those methods work. Anyone done this before?
I'd maybe try using the "define getter" notation that John Resig uses in his article on the topic:
Window.prototype.__defineGetter__('top',function(){return this;});
Try window.top = window.top.window
More details on DOM Window.
Setting window.top doesn't work. Its not allowed in IE.
I ended up having to make my own fake window object, fill it with most of the properties of the window object, and then making a fake .top property.
Use this:
Object.defineProperty(window, "parent", {
get: function() {return window;}
}
);
More info here.