context_menu.Item({
label: "Search",
context: context_menu.SelectionContext(),
contentScriptFile: [data.url("my_scripts/post_messages.js")],
onMessage: function(msg) {
if (msg == 'context') {
var text = get_selected_text();
if (text.length > 2) {
this.label = 'Search "' + text + '"';
} else {
this.label = "";
}
}
if (msg == 'click') {
var filename = 'selected_word.txt';
var str = get_selected_text();
saveText(filename, str);
}
},
});
Выше является частью моего кода. Проблема заключается в том, когда this.label настроен как «", в меню правой кнопки мыши отображается пустая метка, но я не хочу, чтобы это было показано. Я знаю, что это можно сделать, если self.on («context», ...); функция возвращает false, но я не знаю, как отправить сообщение в скрипт содержимого.firefox addon контекстное меню этикетка
Кстати, функция get_selected_text() лучше определена в сценарии аддона, используя «sdk/selection», поэтому он не определен в скрипте содержимого.
Как отправить сообщение (выбор) в сценарий содержимого, или это возможно? Или что именно происходит после self.on ('context', ...); функция возвращает false, чтобы сделать вкладку не показанной?