【问题标题】:Copy XREExeF and paste as file shortcut复制 XREExeF 并粘贴为文件快捷方式
【发布时间】:2014-06-23 21:51:09
【问题描述】:

在我的插件中,我通过这样做来启动 Firefox 配置文件:

var exe = FileUtils.getFile('XREExeF', []); //this gives path to executable
var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
process.init(exe);

var args = ['-P', profName, '-no-remote']; //-new-instance
if (url) {
    args.push('about:home');
    args.push(url);
}
process.run(false, args, args.length);

所以这会添加命令行参数并启动它。然而,这会导致一些问题。用户想要固定图标,它只是固定另一个firefox.exe。用户也尝试更改图标。

维基百科说所有操作系统都支持快捷键:http://en.wikipedia.org/wiki/File_shortcut

所以我想复制XREExeF 并将其粘贴为快捷方式,然后向其添加命令行参数。

编辑: 感谢@nmaier,我现在知道没有跨操作系统方法。你能告诉我操作系统的具体方法吗?

【问题讨论】:

  • 显然在 Win7 中,如果您使用-P "Profile Name Here" -no-remote 的命令行参数启动快捷方式,您无法右键单击它来固定它。所以这个想法已经死了。但仍在学习我不知道如何使捷径如此感兴趣。

标签: javascript file firefox-addon desktop-shortcut


【解决方案1】:

不,没有跨平台的方式来创建快捷方式。事实上,甚至没有用于快捷方式的跨浏览器格式,正如您已经引用过的 the Wikipedia page 所告诉您的那样。相反,每个平台都使用自己的链接类型:

  • Windows:.lnk files,有时是hardlinks and junctions
  • *nix:(符号)链接(man 3 linkman symlink,`man ln)
  • 一些 *nix 桌面环境:.desktop files
  • 其他 *nix 桌面环境:任何他们想要的,如果有的话。

这些事物中的每一个都有不同的行为。 NTFS/*nix 硬链接甚至不是文件,而只是同一个文件的不同名称。

此外,您所描述的 pinning 无论如何都是特定于 Windows 的。其他桌面环境可能使用完全不同的 pinning,如果它们甚至提供类似的功能,或者至少它们的 pinning 等效物可能具有完全不同的语义。

【讨论】:

  • 有什么方法可以通过 FF XPCOM per os 创建快捷方式?还是非得去js-ctypes?
  • 我不知道任何 XPCOM 会为您创建此类链接。
  • 对于 *nix 我只需要支持桌面环境,因为 firefox 仅适用于带有桌面的 *nix?在mac中制作.desktop之类的文件有什么想法吗?
【解决方案2】:

窗口

在此示例中,创建的快捷方式将称为“Mozilla Firef ya”,并将打开一个名为“ya ya”的配置文件。

Cu.import('resource://gre/modules/FileUtils.jsm');
var exe = FileUtils.getFile('XREExeF', []);

var myShortcut = FileUtils.getFile('Desk', ['Mozilla Firef ya.lnk']);
var myShortcutWin = myShortcut.QueryInterface(Ci.nsILocalFileWin);

var myScIcon = new FileUtils.File('C:\\Users\\Noitidart\\Downloads\\amo-puzzle.ico'); //myScIcon must be converted to ico if it isnt an ico
myShortcutWin.setShortcut(exe, null, '-P "ya ya"', 'Launches Mozilla Firefox with "ya ya" Profile', myScIcon);

*nix(桌面)(FF 在非桌面 *nix 上无论如何都不起作用我认为

https://stackoverflow.com/a/25516219/1828637

Mac

在此处使用 AppleScript:https://ask.mozilla.org/question/1126/shortcut-created-on-mac-with-osfile-but-cant-get-around-unidentified-developer-error/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2011-01-20
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多