Browser 检测Applescript中的默认浏览器

Browser 检测Applescript中的默认浏览器,browser,applescript,Browser,Applescript,由于我最近经常更改默认的web浏览器,我想知道是否有一种方法专门针对您的默认浏览器。我只能找到一个上面提到的对当前邮件客户端执行类似操作的浏览器,但我没有找到关于默认浏览器的任何内容。我想默认浏览器也有类似的方法,但我并不真正理解接受答案的代码。有一段时间,在macOS中,~/Library/Preferences/com.apple.LaunchServices/com.apple.LaunchServices.secure.plist文件包含有关使用HTTP和HTTPS协议的URL的默认浏览

由于我最近经常更改默认的web浏览器,我想知道是否有一种方法专门针对您的默认浏览器。我只能找到一个上面提到的对当前邮件客户端执行类似操作的浏览器,但我没有找到关于默认浏览器的任何内容。我想默认浏览器也有类似的方法,但我并不真正理解接受答案的代码。

有一段时间,在macOS中,~/Library/Preferences/com.apple.LaunchServices/com.apple.LaunchServices.secure.plist文件包含有关使用HTTPHTTPS协议的URL的默认浏览器的信息

下面的示例AppleScript代码将该文件解析为httphttps并根据返回的内容提供一些(而不是全部)逻辑来执行所需操作。按照编码,它倾向于将两者设置为相同的值,如果不是,则需要添加额外的逻辑以适应该场景

将defaultBrowserList设置为(do shell script“默认读取”的段落\\
~/Library/Preferences/com.apple.LaunchServices/com.apple.LaunchServices.secure\\
|awk-F'\“'/http;| https;/{print window[(NR)-1]}{window[NR]=$2}')
如果(count defaultBrowserList)不等于2,则返回
如果defaultBrowserList的项目1等于defaultBrowserList的项目2,则
将defaultBrowser设置为defaultBrowserList的项目1
其他的
返回
如果结束
如果defaultBrowser为“”或defaultBrowser包含“safari”,则
--#默认浏览器为Safari。
将defaultBrowser设置为“Safari”
--#您的代码在这里。
否则,如果defaultBrowser包含“chrome”,则
--#默认浏览器为谷歌浏览器。
将defaultBrowser设置为“谷歌浏览器”
--#您的代码在这里。
否则,如果defaultBrowser包含“firefox”,则
--#默认浏览器为Firefox。
将defaultBrowser设置为“Firefox”
--#您的代码在这里。
其他的
将defaultBrowser设置为“其他”
--#您的代码在这里。
如果结束

注意事项:

~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure
if defaultBrowser
语句的开头不测试
以及
“safari”
,因为如果safari是唯一安装的浏览器,或者如果安装了另一个浏览器并且从未设置过默认浏览器,则默认情况下,
do shell脚本不会返回任何内容默认值…
命令,这意味着Safari是默认浏览器

在上面的示例AppleScript代码中,
defaultBrowser
变量的值最初设置为以下值之一:

  • 无:
  • com.apple.safari
  • com.google.chrome
  • org.mozilla.firefox
  • 其他一些:
    输出
然后在
if
语句中,将
defaultBrowser
设置为浏览器的正确名称。当然,您可以根据需要/需要进行修改

上面显示的示例AppleScript代码在macOS Catalina下的脚本编辑器中测试,系统首选项中的语言和区域设置设置设置设置为英语(美国)-初级,为我工作,没有问题1

  • 1假设已根据需要设置/处理系统首选项中的必要和适当设置安全和隐私隐私

对于操作系统X 10.10之前的版本,请更换:

~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure
与:

do shell脚本“defaults…”
命令中



注意:示例AppleScript代码就是这样的,任何包含的错误处理都不包含任何适当的附加错误处理。用户有责任添加任何适当的、需要的或想要的错误处理。请查看中的语句和语句。另请参见在适当的情况下,可能需要在事件之间使用该命令,例如延迟0.5,延迟值设置适当