Показать сообщение отдельно
  #8 (permalink)  
Старый 17.12.2009, 15:36
Новичок на форуме
Отправить личное сообщение для maxbarbul Посмотреть профиль Найти все сообщения от maxbarbul
 
Регистрация: 11.02.2009
Сообщений: 3

А Вы пробовали проверить ?
if (typeof Plugin != 'undefined')
{
    setTimeout( Plugin.init , 1);
}

Поясню свою мысль: если код плагина загружается внутри iframe, то у него область видимости iframe. Соответственно, нужно вызвать его изнутри iframe, а функция, замещающая onload вызывается в контексте window.top - главного окна.
Попробуйте использовать замыкание и apply при установке таймера:
if (window.top.onload)
   {
        var existingOnload = null;
        existingOnload = window.top.onload;
        var self = this;
        window.top.onload = function (ev) {  // сюда не попадаем...      
             if (existingOnload) { existingOnload(ev); }
             setTimeout( 
                 function(){
                     Plugin.init .apply(self, arguments);
                 }, 
                     1
             );        
        };
   }
   else
   {
        Plugin.init();
   }
Ответить с цитированием