Dan*_*eld 20 javascript cross-platform node.js
我正在开发一个命令行节点模块,并希望能够通过网站上的链接启动它.
我想注册一个自定义协议my-module://
,使链接具有以下格式:my-module://action:some-action
点击它们将启动节点包.
如果没有这个节点API(我确定不会有),那么有没有办法通过调用系统命令从节点做到这一点?
它必须适用于Windows,Linux和MacOS.
jer*_*emy 22
这是一个有趣的想法.我认为目前没有跨平台node.js解决方案.我确实遇到过这个人要求同样的事情:
https://github.com/rogerwang/node-webkit/issues/951
Run Code Online (Sandbox Code Playgroud)
Electron现在支持macOS和Windows 的app.setAsDefaultProtocolClient
API(自v0.37.4起).
编写库来执行此操作并不是非常困难.
Windows:
在Windows端,您必须将应用程序注册为处理该URI方案的应用程序.
您需要为您的应用程序设置一个注册表项:
HKEY_CLASSES_ROOT alert (Default) = "URL:Alert Protocol" URL Protocol = "" DefaultIcon (Default) = "alert.exe,1" shell open command (Default) = "C:\Program Files\Alert\alert.exe" "%1"
然后,当您的应用程序由Windows运行时,您应该能够看到参数process.argv[]
.确保启动shell以运行节点,而不仅仅是直接运行应用程序.
请注意,这需要管理员权限并在系统范围内设置处理程序.要做到这一点每个用户,您可以使用HKEY_CURRENT_USER\Software\Classes
,而不是作为电子的实现做它.
苹果:
github评论中引用的"OS X"文章实际上是针对iOS的.我将查看以下编程指南,了解有关注册应用程序以处理URL方案的信息:
总之,您需要创建一个启动服务并填充.plist文件CFBundleURLTypes
,该字段是一个数组,应该只填充协议名称,即http
以下超级用户问题有一个更好的解决方案,但是是每用户设置.
"您寻找的文件是〜/ Library/Preferences/com.apple.LaunchServices.plist.
它包含一个名为LSHandlers的数组,定义LSHandlerURLScheme的Dictionary子句可以使用LSHandlerRole进行相应的修改."
Linux的:
据我所知,有几种方法可以在Linux中实现这一点(惊喜?)
Gnome有一个工具,可以让你注册一个url处理程序w3档案
gconftool-2 -t string -s /desktop/gnome/url-handlers/tel/command "bin/vonage-call %s"
gconftool-2 -s /desktop/gnome/url-handlers/tel/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/tel/enabled true
Run Code Online (Sandbox Code Playgroud)
一些较轻的管理器看起来像允许您创建假的mime类型并将它们注册为URI协议处理程序.
"伪造的mime-types是为各种方案创建的URI:application/x-xdg-protocol-支持特定URI协议的应用程序可以将伪mime类型添加到其桌面条目文件中的MimeType键.因此很容易找到通过查看mimeinfo.cache文件,支持支持URI方案的系统上安装的所有应用程序.再次,defaults.list文件可用于指定特定URI类型的默认程序." wiki.lxde.org
KDE还支持自己的URL协议处理程序处理方法:
创建一个文件: $KDEDIR/share/services/your.protocol
并用相关数据填充它:
[Protocol] exec=/path/to/player "%u" protocol=lastfm input=none output=none helper=true listing= reading=false writing=false makedir=false deleting=false
来自所有地方的last.fm论坛
希望有所帮助.
归档时间: |
|
查看次数: |
7485 次 |
最近记录: |