Расширение Safari: передача переменной из активной вкладки на панель инструментов

Я новичок в создании расширений Safari и ищу несколько советов по передаче переменной из активной вкладки на панель инструментов расширения.

Я использую фреймворк jsPDF, который создает PDF-файлы с помощью Javascript. На данный момент у меня есть простая панель инструментов с кнопкой, которую нужно щелкнуть, чтобы сгенерировать PDF-файл для имени клиента и приобретенного продукта, создав простой упаковочный лист. Это работает нормально, просто есть текст-заполнитель.

Имя клиента и приобретенный продукт находятся на главной странице веб-системы (простой текст в DIV с именами #name и #product). Что я хотел бы сделать, так это когда кнопка нажата, она получает имя и продукт, приобретенный в соответствующем DIV (#name и #product), а текст определяется как переменная на панели инструментов. Генератор PDF работает только со стандартной переменной, поэтому мне нужна дополнительная помощь о том, как именно заставить панель инструментов получать имя и продукт через прокси-скрипт.

Если бы кто-нибудь мог пролить свет на то, как это сделать - я читал Руководство разработчика расширений, которое было очень полезно, но я просто не могу понять, как это сделать.


person jordanmerrick    schedule 28.11.2010    source источник


Ответы (1)


Из внедренного скрипта:

safari.self.tab.dispatchMessage("messageName", { messageObject });

На панели инструментов:

safari.self.browserWindow.addEventListener("message", messageHandler, false);
function messageHandler(event)
{
    if (event.name === "messageName")
        doStuffHereWithMessageObject();
}
person Brian    schedule 13.12.2010