【问题标题】:How to open new Safari Tab when user perform actions in Popover menu . ?当用户在弹出菜单中执行操作时如何打开新的 Safari 选项卡。 ?
【发布时间】:2018-02-08 15:25:17
【问题描述】:

我已经创建了 Safari 扩展 [通过原生方式创建]

其中,我被困在Safari浏览器中打开新标签

点击按钮:

- (IBAction)btnClick:(id)sender {


[self.sfWindow openTabWithURL:[NSURL URLWithString:@"https://www.facebook.com"] makeActiveIfPossible:true completionHandler:^(SFSafariTab * _Nullable tab) {
    NSLog(@"Naman Vaishnav");

}];}

我在其中得到 self.sfWindow : null

【问题讨论】:

    标签: objective-c macos cocoa safari-extension


    【解决方案1】:
    CFURLRef httpURL = CFURLCreateWithString(kCFAllocatorDefault, CFSTR("http://"), NULL);
    NSLog(@"%@", LSCopyDefaultApplicationURLForURL(httpURL, kLSRolesAll, nil));
    
    NSString *strDefaultBrowser = [NSString stringWithFormat:@"%@",LSCopyDefaultApplicationURLForURL(httpURL, kLSRolesAll, nil)];
    
    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:websiteName]];
    

    【讨论】:

    • 为什么这对我不起作用?我收到大量错误,要求我将逗号或分号放在奇怪的地方。我正在为 Safari 构建一个扩展并将其放在SFSafariExtensionViewController 中。不过,我的功能看起来与 OP 完全不同。 @IBAction func onSettingsBtnClicked (_ sender: Any) {
    猜你喜欢
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多