Привет. Я пытаюсь создать расширение для Firefox5, в котором код расширения внедряет два сценария при запуске загрузки страницы.
var data = require("self").data;
var pageMod = require("page-mod");
pageMod.PageMod({
include: ['*'],
contentScriptWhen: "start",
contentScriptFile:
[data.url("jquery.min.js"), data.url("js_include.js")],
});
Скрипт js_include.js выполняет междоменный вызов jsonp JQuery с глобальной функцией обратного вызова 'onJSONPLoad' и имеет код, похожий на:
window.onJSONPLoad = function(data) {
//do something here...
}
jQuery(function(){
jQuery.ajax({
url: 'http://localhost:8000/getvos/',
type: 'GET',
data: 'url='+window.location.href,
dataType: 'jsonp',
jsonp: 'jsonpCallback',
jsonpCallback: 'onJSONPLoad'
});
});
Это работает, если я делаю это на странице, но не когда я пытаюсь сделать это в дополнении. Firebug показывает, что звонок сделан, ответ получен, я тоже вижу ответ в консоли. Однако функция onJSONPLoad никогда не выполняется, и все, что я получаю, это «onJSONPLoad не определен».
Я видел другие вопросы / ответы по SO, но они дошли до того, что просили, чтобы onJSONPLoad был глобальным, что я уже сделал, но он все равно не работает.
Любая помощь?