в общем проблема была в том что из dom нельзя было добраться до скрипта из greasemonkey. по-этому и ррешилась проблема копированием кода прямо в dom. в опере по умолчанию userjs располагаются в глобальном window а в ff нет. решение нужно было искать не на форуме о js а на форумах ff..
var w=(typeof unsafeWindow=='undefined')?window:unsafeWindow;
w.someObj=someObj;
w.addEventListener('load',function(){w.someObj.ctor()},false)
это скорее всего единственное правильное решение..