【问题标题】:Mailto-link as menu-item in toolbarbutton-menu possible?可以将邮件链接作为工具栏按钮菜单中的菜单项吗?
【发布时间】:2013-05-23 16:16:05
【问题描述】:

我正在使用 Erik Vold 的工具栏按钮 API 和 Mozilla 的 Addon-SDK,我想知道是否有一种方法可以链接菜单项以便在单击时打开邮件程序。
对于小部件来说,这很简单,因为我只需将 <a href="mailto:xxxxx"></a> 添加到相应面板的 HTML 中即可。
但是工具栏按钮菜单呢?有没有像type: "email" 这样的东西可以修改toolbarbutton API?

编辑:
我已经尝试过但没有成功:
赋予菜单项 href 属性(包括类 text-link
将锚元素作为 childNode 添加到菜单项

【问题讨论】:

  • 不确定“页脚菜单”是什么意思。如果您知道如何链接工具栏按钮菜单项,那么:是的,我想知道更多;-}

标签: firefox-addon xul firefox-addon-sdk add-on


【解决方案1】:

您不需要链接,您可以简单地自己“请求”该 URL:

var {ToolbarButton} = require("toolbarbutton");
var {Request} = require("sdk/request");
ToolbarButton({
  ...
  onCommand: function () {
    try {
      Request({url: "mailto:foo@example.com"}).get();
    }
    catch (e) {
      // Ignore "no data will be returned" exception
    }
  }
});

此请求与用户单击链接的效果完全相同 - 不会返回任何数据,但会打开邮件应用程序窗口。

【讨论】:

  • 哦,太好了!不知何故,它让我注意到了使用请求 API 是可能的。仍然有点好奇如何在 XUL 中完成此任务,但我会按照您建议的方式完成:}
  • @user1521685:XUL 没有真正的链接,所以您仍然需要自己处理。通常的方法是直接调用nsIExternalProtocolService.loadURI()(不管你做什么,它都会被进一步调用)。这正是what the text-link binding does
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多