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

时间:2011-11-19 03:24:54

标签: objective-c macos url nsworkspace

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

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

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

如果在这种情况下只是切换到现有标签,那将是更好的用户体验。

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

1 个答案:

答案 0 :(得分:0)

您无法使用-[NSWorkspace openURL:]执行此操作。如果您知道用户正在使用Chrome或Safari,则可以通过运行AppleScript来实现。