извините за дерзость и может грубость. уже почти неделю гугл мучаю. ff меня не понимает ну никак. попробую объяснить ситуацию ещё раз. создаю userjs в котором код выглядит примерно следующим образом
var someObj={
ctor:function()
{
this.somemethod();
},
somemethod:function(){
document.getElementById('someid').setAttribute('onclick','someObj.action()'); // без разницы как я добавлял этот обработчик. будь то .onclick= или же .addEventListener( ... суть в другом
},
action:function(){alert('hello world!11');}
}
// в опере работает следующий вариант
window.load=someObj.ctor();
// в ff по клику на элемент someid c обработчиком onclick в котором вызывается action из someObj, ff (а точнее firebug) говорит что someObj не обявлен.
// пробовал так
var someVar=someObj;
window.load=someVar.ctor()
// в обработчике onclick всё того же элемента указывая на обявленую someVar вместо someObj, ситуация не изменилась - someVar is not defined блин...
// даже извращался так
var someScript=document.createElement('script');
someScript.type="text/javascript";
somwScript.innerHTML='var sss=someObj;window.load=sss.init();';
document.getElementsByTagName('head')[0].appendChild(someScript);
// в этом случае userjs не загружался вообще. кроме части где в шапку добавляется <script>
и это так не работает только если делать userjs, если же просто ставить весь этот код в страницу то работает даже просто через window.load=someObj.ctor();