我要在工具栏右侧创建一个浏览器操作按钮,以便根据在选项卡中打开的URL显示我的分机上的交易。
在阅读SDK文档时,我发现了这个:https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs/ui_button_toggle#Attaching_panels_to_buttons,但它说它只支持Firefox30以上版本,这是一个问题。
为了实现这一点,我使用了Rob-W的browser-action lib (来源:https://github.com/Rob--W/browser-action-jplib)
下面是它的工作原理:假设我打开了www.example.com,它在我的服务器上有20个交易。如果我点击我的浏览器操作按钮,它将打开一个面板,根据打开的URL显示交易(在AJAX请求的帮助下)
现在的问题是:浏览器操作按钮(在单击时)打开popup.html,并且在我的popup.html中包含了popup.js。这是我想要访问打开的选项卡URL的文件,这样我就可以执行AJAX请求。我不明白如何将打开的选项卡URL从main.js传递给popup.js。
发布于 2014-06-12 20:31:43
sdk/ tab让你访问当前的标签,你可以从那里获得位置。https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs
发布于 2014-08-09 02:01:06
我不明白如何将打开的选项卡URL从main.js传递给popup.js。
您是否尝试过使用port system.
要从内容脚本发出消息,请执行以下操作:
self.port.emit("myContentScriptMessage", myContentScriptMessagePayload);要从附加代码接收消息,请执行以下操作:
self.port.on("myAddonMessage", function(myAddonMessagePayload) {
// Handle the message
});如果你真的想在版本30之前瞄准浏览器,你也可以使用widget而不是新的UI模块,但是它已经贬值了,可能会在接下来的几个版本中被移除。
https://stackoverflow.com/questions/23768965
复制相似问题