2010-11-28 45 views
0

我对创建Safari扩展相当新颖,并且正在寻找一些关于将活动标签中的变量传递给扩展工具栏的建议。Safari扩展:将变量从活动标签传递到工具栏

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

客户的名称和产品购买在基于Web的系统的主页面内(DIV中的纯文本称为#name和#product)。我想要做的是当按钮被按下时,它获得从相应DIV(#name和#product)购买的名称和产品,并且文本被定义为工具栏中的变量。 PDF生成器只使用一个标准变量,所以我需要更多帮助,了解如何使工具栏通过代理脚本获取名称和产品。

如果有人可以阐明如何做到这一点 - 我一直在阅读扩展开发者指南,这是非常有用的,但我无法弄清楚如何去做。

回答

0

从注入脚本:

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

从工具栏:

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