gpt4 book ai didi

browser - 检测 Applescript 中的默认浏览器

转载 作者:行者123 更新时间:2023-12-05 04:48:57 24 4
gpt4 key购买 nike

由于最近我经常更改我的默认网络浏览器,我想知道是否有一种方法可以专门解决您的默认浏览器。我只能找到 10 year old Stackoverflow-post提到用当前的邮件客户端做类似的事情,但我没有找到任何关于默认浏览器的信息。我想默认浏览器也有类似的方法,但我不太理解已接受答案的代码。

最佳答案

一段时间以来,在 ma​​cOS 中,~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist 文件 包含有关 默认浏览器 的信息,URL 使用 HTTPHTTPS 协议(protocol)。

以下示例 AppleScript 代码http;https; 解析该文件; 并提供一些(不是全部)逻辑 以根据返回的内容执行您想要的操作。正如所编码的那样,它有利于将两者设置为相同的,如果不是,您将需要添加额外的逻辑以适应该场景。

set defaultBrowserList to paragraphs of (do shell script "defaults read \\
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure \\
| awk -F'\"' '/http;|https;/{print window[(NR)-1]}{window[NR]=$2}'")

if (count defaultBrowserList) is not equal to 2 then return

if item 1 of defaultBrowserList is equal to item 2 of defaultBrowserList then
set defaultBrowser to item 1 of defaultBrowserList
else
return
end if

if defaultBrowser is "" or defaultBrowser contains "safari" then
-- # The default Browser is Safari.
set defaultBrowser to "Safari"
-- # Your code goes here.
else if defaultBrowser contains "chrome" then
-- # The default Browser is Google Chrome.
set defaultBrowser to "Google Chrome"
-- # Your code goes here.
else if defaultBrowser contains "firefox" then
-- # The default Browser is Firefox.
set defaultBrowser to "Firefox"
-- # Your code goes here.
else
set defaultBrowser to "Other"
-- # Your code goes here.
end if

注意事项:

if defaultBrowser 语句 的开头没有测试 "" 以及 "safari",因为,如果 Safari 是唯一安装的浏览器,或者安装了另一个浏览器但从未有过默认浏览器设置,则默认情况下 do shell script "defaults ..." command 不会返回任何内容,这意味着 Safari 是默认设置浏览器

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

  • 无:""
  • com.apple.safari
  • com.google.chrome
  • org.mozilla.firefox
  • 一些其他的:输出

然后在 if 语句 中,defaultBrowser 被设置为浏览器 的正确名称。尽管您当然可以根据需要/需要进行修改。

示例 AppleScript 代码,如上所示,已在ma​​cOS Catalina 下的Script Editor 中进行测试 系统偏好设置中的语言和地区设置为英语(美国)—主要并且对我来说没有问题 1.

  • 1 假设在系统偏好设置> 安全和隐私> 隐私 中有必要和适当的设置根据需要设置/解决。

对于 OS X 10.10 之前的版本,替换:

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

与:

com.apple.LaunchServices

do shell script "defaults ..." command 中。



注意:示例 AppleScript 代码 就是这样,没有包含任何错误处理不包含任何额外的错误处理可能是适当的。用户有责任添加任何适当、需要或想要的错误处理。看看 try 声明error AppleScript Language Guide 中的声明 .另见,Working with Errors .此外,使用 delay command 在适当的事件之间可能是必要的,例如delay 0.5,适当设置delay

关于browser - 检测 Applescript 中的默认浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67763306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com