objective-c - 打开用户的浏览器,如果网站已经打开,则切换到相应的选项卡

标签 objective-c macos url nsworkspace

在我的 Objective-C 应用程序中,我使用此代码在用户的浏览器中打开一个网站:

        [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://blah.com/"]];

这很好用。但是,有一个小问题;如果用户已经在他的网络浏览器中打开了“blah.com”,则调用它会不必要地创建一个新选项卡。

如果在这种情况下直接切换到现有选项卡,用户体验会更好。

有没有办法做到这一点?请注意,如果选项卡位于“blah.com”的子页面上,例如“blah.com/some/page.html”,我还想切换到现有选项卡。

最佳答案

你不能用 -[NSWorkspace openURL:] 来做到这一点。如果您知道用户正在使用 Chrome 或 Safari,您可以通过运行一些 AppleScript 来做到这一点。

关于objective-c - 打开用户的浏览器,如果网站已经打开,则切换到相应的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191647/

相关文章:

url - 使用带有 # anchor 链接的相对或绝对 URL 的一页滚动站点?

ios - 带+号的界面语法(UIView+AdditionalFeatures.h)?

ios - iPad 相机弹出窗口预览错误的旋转和缩放

macos - NSPopUpButton 白色文本

linux - Mac 上 sed 的智能引号问题

php - 创建 URL 字符串时 XML 中的 & 符号问题

mysql - 考虑 RAM 的 url 或散列索引

ios - 创建密码实例 Objective-C 并获取 block 大小

objective-c - Xcode 不显示 parse.com 中 block 的自动完成

java - Eclipse SWT 在 MacOs X High Sierra 的设计页面上显示颠倒的 shell