IE Overwrite window.top


2

Я пытаюсь убедить страницу, что это window.top, даже если она находится в iframe.

В FF вы можете сделать

окно. defineGetter ('top', function() {return window});

в Webkit (Safari/Chrome) вы можете просто сделать

window.top = окно

но в IE ни один из этих методов работы. Кто-нибудь сделал это раньше?

+1

window.top = окно не работает на Chrome. (он работает на Safari). см. http://code.google.com/p/chromium/issues/detail?id=26220 14 ноя. 102010-11-14 21:02:36

0

Настройка window.top не работает. Его не разрешено в IE.

В итоге мне пришлось создать свой собственный объект фальшивого окна, заполнить его большинством свойств объекта окна и затем создать поддельное свойство .top.


0

Попробуйте window.top = window.top.window

Более подробную информацию о DOM Window.

  0

К сожалению, это не сработает. Проблема заключается в том, что IE создает ошибку при попытке установить window.top (или даже окно, если на то пошло) 23 фев. 092009-02-23 09:44:37


1

Я бы, может быть, попробовать использовать "определить" поглотитель обозначения, использующего Резиг В своем article on the topic:

Window.prototype.__defineGetter__('top',function(){return this;});


0

Используйте это:

Object.defineProperty(window, "parent", { 
     get: function() {return window;} 
    } 
); 

here Подробнее.