Расширение Safari: передача переменной с активной вкладки на панель инструментов - PullRequest
0 голосов
/ 28 ноября 2010

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

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

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

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

1 Ответ

0 голосов
/ 13 декабря 2010

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

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

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

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