我是创建Safari Extensions的新手,我正在寻找一些关于将变量从活动标签传递到Extension工具栏的建议。
我正在使用一个名为jsPDF的框架,它使用Javascript创建PDF。目前,我有一个简单的工具栏,其中有一个点击按钮,可以为客户的名称和购买的产品生成PDF,从而创建一个简单的装箱单。这工作正常,它只有一些占位符文本。
购买的客户名称和产品位于基于Web的系统的主页面内(DIV中称为#name和#product的纯文本)。我想要做的是当按下按钮时,它从相应的DIV(#name和#product)获取名称和产品,文本被定义为工具栏中的变量。 PDF生成器只使用一个标准变量,所以我需要更多的帮助来确定如何让工具栏通过代理脚本获取名称和产品。
如果有人能说清楚如何做到这一点 - 我一直在阅读扩展开发者指南,它非常有用,但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
从注入的脚本:
safari.self.tab.dispatchMessage("messageName", { messageObject });
从工具栏中:
safari.self.browserWindow.addEventListener("message", messageHandler, false);
function messageHandler(event)
{
if (event.name === "messageName")
doStuffHereWithMessageObject();
}