Пишу небольшую надстройку к Firefofx, в которой использую виджеты. Интересно, как установить автоматическую ширину, которая адаптируется к содержимому. Например, я хочу, чтобы мой виджет отображал числа разной длины. Я могу установить ширину виджета, но как узнать, сколько пикселей занимает мой номер. Есть ли способ получить ширину, выбирая автоматически? Вот часть моего кода: Мой виджет (в моем дополнении используются другие виджеты),
//ROBOTS META
var robots_meta = widgets.Widget({
id: "robots_meta",
label: "Displays information about robots meta",
content: "Meta-robots n/a",
width: 100
});
Вот функция, которая обновляет содержимое моего виджета:
function meta_robots_checker(tab) {
var meta_robots_w = robots_meta.getView(tab.window);
meta_robots_w.content = 'Meta-robots n/a';
worker = tab.attach({
contentScriptFile: data.url("js/meta-checker.js")
});
worker.port.emit("check_noindex");
worker.port.on('content', function(message) {
message = message.toLowerCase();
message = message.replace('nofollow', '<span style="color:red">nofollow</span>');
message = message.replace('noindex', '<span style="color:red">noindex</span>');
meta_robots_w.content = message;
//HERE MY WIDGET WIDTH SHOULD BE CHANGED
});
}
child[i].getBoundingClientRect().width
, получите оттуда максимальное значение и установите его на панель. если вы опубликуете свой аддон упрощенно, я могу сделать это для вас 18.02.2014