А Вы пробовали проверить ?
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();
}