通过调用 openURL 方法强制 safari 在同一选项卡中打开 url

Posted

技术标签:

【中文标题】通过调用 openURL 方法强制 safari 在同一选项卡中打开 url【英文标题】:Force safari to open url in same tab by calling openURL method 【发布时间】:2016-02-26 06:43:05 【问题描述】:

我正在使用 Safari 浏览器的深层链接打开我的扫描仪应用程序。扫描完成后,我将与扫描的详细信息一起从应用程序返回 safari。 在这种情况下,扫描的详细信息将在新选项卡中打开,但我希望它在前一个选项卡本身中打开。 这是我的代码

UIApplication *mySafari = [UIApplication sharedApplication];

    NSString *backButtonUrl = [[NSUserDefaults standardUserDefaults]
                           stringForKey:Back_Button_Url_Key];
    NSString *strURL=[NSString stringWithFormat:@"%@",backButtonUrl];

    NSURL *myURL = [[NSURL alloc]initWithString:strURL];
    [mySafari openURL:myURL];
    exit(0);

【问题讨论】:

【参考方案1】:

不幸的是,openURL 总是会导致 Safari 打开一个新标签。此功能扩展到他们的默认应用程序,例如当您在 Mail 中打开相同的链接两次时,您将获得 2 个选项卡。这是你无法控制的。如果您可以告诉他们返回 Safari,您也许可以重新加载一些服务器端代码,但最好将它们发送回新标签页。

【讨论】:

谢谢伙计。我已经得出了这个结论,但只是想到有人可能会提供帮助。

以上是关于通过调用 openURL 方法强制 safari 在同一选项卡中打开 url的主要内容,如果未能解决你的问题,请参考以下文章

iOS--浏览器(safari)唤起App

我可以在 ios 中通过 Application::openURL 方法使用 Safari 打开本地文件 url 吗?

如何代码实现跳转safari,phone或message?

openurl 跳转

使用动态链接首次下载后更新应用程序时未调用 openURL 方法

Apple 是不是需要从您的应用程序中对 Safari 中的 openURL 进行网络检测?