0

我对创建 Safari 扩展相当陌生,并且正在寻找一些关于将变量从活动选项卡传递到扩展工具栏的建议。

我正在使用一个名为 jsPDF 的框架,它使用 Javascript 创建 PDF。目前,我有一个简单的工具栏,带有一个可以单击的按钮,它将为客户的姓名和购买的产品生成 PDF,创建一个简单的装箱单。这工作正常,它只有一些占位符文本。

客户的姓名和购买的产品位于基于 Web 的系统的主页中(名为 #name 和 #product 的 DIV 中的纯文本)。我想做的是当按下按钮时,它会从相应的 DIV(#name 和 #product)中获取名称和购买的产品,并将文本定义为工具栏中的变量。PDF 生成器仅使用标准变量,因此我需要更多有关如何准确获取工具栏以通过代理脚本获取名称和产品的帮助。

如果有人能阐明如何做到这一点 - 我一直在阅读非常有用的扩展开发指南,但我就是不知道如何去做。

4

1 回答 1

0

从注入的脚本:

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

从工具栏:

safari.self.browserWindow.addEventListener("message", messageHandler, false);
function messageHandler(event)
{
    if (event.name === "messageName")
        doStuffHereWithMessageObject();
}
于 2010-12-13T07:39:15.123 回答