Я разрабатываю надстройку Firefox, используя Addon Builder. Я использую пользовательский интерфейс JQuery в своей панели дополнений, а также хотел бы использовать его из скрипта содержимого, привязанного к панели. На странице панели все работает нормально. В сценарии содержимого JQuery, похоже, работает, но я не вижу никакого эффекта от вызовов пользовательского интерфейса JQuery, например, в случае ползунка ниже.
Вот часть моего main.js, которая определяет панель:
var panel = require("panel").Panel({
width: 350,
height: 400,
contentURL: require("self").data.url("panel.html"),
contentStyleFile: data.url("css/jquery-ui-1.8.22.custom.css"),
contentScriptFile: [
data.url("js/jquery-1.8.0.js"),
data.url("js/jquery-ui-1.8.22.custom.min.js"),
data.url("panel.js")
]
});
и вот вызов, который запускает пользовательское событие:
panel.port.emit("loadingDataEvent", t );
В panel.js следующая часть пытается использовать JQuery и JQuery UI. Вызов JQuery завершен успешно, однако вызов пользовательского интерфейса JQuery, который пытается обновить объект ползунка, ни на что не влияет:
self.port.on("loadingDataEvent", function (t) {
$("#load-counter").html("<br />Not enough data yet. Approx. " + t + " secs. to go...");
$( "#progressbar" ).progressbar( "option", "value", (60-t)/60*100 );
document.defaultView.postMessage('{}', '*');
});
В моем panel.html я могу без проблем использовать как JQuery, так и JQueryUI, включив их обычным способом:
<link type="text/css" href="css/jquery-ui-1.8.22.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="js/jquery-1.8.0.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.22.custom.min.js"></script>
...
<script>
$(function() {
$( "#tabs" ).tabs();
....
});
</script>
Любые идеи о том, где я мог сделать ошибку?