【发布时间】:2025-12-11 02:50:01
【问题描述】:
我有一个非常棒的小applescript(如下),它允许我在默认Fluid App 中打开链接。但是,它会分解为本地 URL:file:///
on open location this_URL
if this_URL contains "drive.google.com" then
tell application "/Applications/Fluids/Google Drive.app"
activate
open location this_URL
end tell
else if this_URL contains "mail.google.com" then
tell application "/Applications/Fluids/Gmail.app"
activate
open location this_URL
end tell
else
-- default browser here
tell application "/Applications/Google Chrome.app"
activate
open location this_URL
end tell
end if
end open location
这里最大的缺点是 Dropbox 的上下文菜单共享链接依赖于这些本地文件,因此功能被破坏了。
如何更新它以同时重定向本地 URL?我在网上搜索了一下,好像没搞清楚。
编辑:更多信息
任何“file:///”的 URL 都会出现此问题。似乎“this_URL”不包括本地 URL,否则根据脚本中最后的“else”语句,谷歌浏览器应该打开它。发生的情况是 default_browser 脚本打开,然后关闭,然后重复 - 它再次打开/关闭。没有其他事情发生。 Dropbox 和其他应用程序使用 file:/// URL 来触发上下文菜单功能。我不需要对这些进行任何特殊处理 - 我只希望它们像任何其他 URL 一样使用 Google Chrome 打开。
注意:我试过下面的代码,但它不起作用。
if this_URL contains "file:///" then ...
【问题讨论】:
-
我不使用 Google 驱动器,所以不完全理解您要解析的内容,但是,请执行您想要发送到包含“文件”的 Fluid 应用程序的任何 URL :///”?如果是这样,那是 Fluid 应用程序的限制,您最好在他们的论坛上提问。如果没有,您可以只捕获“file:///”,然后应该很容易让 Chrome 加载它。
-
您能否提供有关保管箱问题的更多详细信息,似乎是问题所在?一个示例网址以及您在 Dropbox 和 Fluid 之间尝试实现的目标。
-
@adamh 用更多信息更新了上面的问题,希望有助于澄清问题。
-
@jweaks - 该脚本适用于流畅的应用程序 - 它正在捕获这些链接并为每个链接打开不同的“默认浏览器”。问题是最后一条语句“else ... google chrome” - 不适用于本地 URL。脚本启动,但随后什么也不做。
标签: url applescript local-files default-browser