我正在尝试了解自定义URL方案在Mac中如何工作,如此处所述:https://css-tricks.com/create-url-scheme/
例如,当单击mailto:link时,用户会看到“邮件”应用程序启动,并弹出一个已经填写了正确收件人地址的编辑器窗口。
我很确定在Windows中,您可以在调用处理应用程序时将与协议相关的字符串(例如,包括接收者的地址等)作为命令行参数传递。也就是说,您将有机会在处理应用程序启动时解析命令行。
但是在MacOS中似乎不是这样吗?在上面的示例中,它是否先调用“邮件”,然后“邮件”从其已注册的回调中获取与协议(接收者的地址等)相关的字符串?也就是说,您只能在处理应用程序已经开始运行时获取地址?
在Mac中,是否可以执行与Windows中相同的操作,在启动处理应用程序时传递命令行参数?
答案 0 :(得分:0)
在上面的示例中,它是否首先调用“邮件”,然后“邮件”从其已注册的回调中获取与协议相关的字符串(接收者的地址等)?也就是说,您只能在处理应用程序已开始运行时获取地址?
正确。应用程序启动后(如果尚未运行)会收到一个事件(通过Apple Events!),通知它应该打开URL。
在Mac中,是否可以执行与Windows中相同的操作,在启动处理应用程序时传递命令行参数?
不。通常,macOS应用程序通常不使用命令行参数。在这种特定情况下,命令行参数无论如何都不适合,因为它们不能用于将信息传递给已经打开的应用程序。