Из-за особенностей пользовательской библиотеки Firebase (firebase.js) невозможно просто взять и использовать её
в пользовательских скриптах GreaseMonkey. Эта библиотека создает в документе скрытый iframe и грузит туда скрипт,
вызывающий parent.window["somefunc"]
. Эти somefunc
функции имеют имена, построенные по несложному правилу,
поэтому можно сделать перенаправлялочку для этих функций.
Итак, код создания функций, перенаправляющих вызовы в песочницу userscript:
function replace_fb(funcnum) {
if (typeof(window["pLPCommand"+funcnum]) == 'function' && typeof(window["pRTLPCB"+funcnum]) == 'function') {
unsafeWindow.window["pLPCommand"+funcnum] = window["pLPCommand"+funcnum];
unsafeWindow.window["pRTLPCB"+funcnum] = window["pRTLPCB"+funcnum];
//console.log(funcnum+" is ready");
}
else
setTimeout(function(){
replace_fb(funcnum);
},50);
}
for (i=1; i<8; i++)
replace_fb(i);