Эквивалент googlechrome: //myurl.com для Safari - PullRequest
0 голосов
/ 22 ноября 2018

У меня возникли некоторые проблемы с моим веб-приложением, когда, если пользователь щелкает ссылку из приложения Facebook, он использует собственный браузер / веб-просмотр, но для запуска страницы требуется использовать Safari или Chrome.

Во время исследования ( эта проблема ) я обнаружил, что вы можете использовать googlechrome: // navigate? Url = example.com с устройства Android для открытия Chrome и googlechrome: //myurl.com из iOS, чтобы открыть Chrome, но мне нужен способ открыть Safari, если пользовательское устройство - iOS.

Есть ли способ сделать это?

Пс .: ссылка, по которой пользователь щелкает в Facebook, ведет на целевую страницу, и на этой странице есть кнопка для веб-приложения.Когда пользователь нажмет эту кнопку, я открою Chrome / Safari.

Заранее спасибо!

1 Ответ

0 голосов
/ 03 июля 2019

В SO есть несколько ответов с похожей темой.Что-то вроде

NSString *yourUrl = @"http://yourURL";
SFSafariViewController *svc= [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString: yourUrl]];
[self presentViewController:svc animated:YES completion:nil];

В Swift это

let yourUrl = "http://www.yourURL.com";
let svc = SFSafariViewController.init(url: URL);
svc.delegate = self
present(svc, animated: true);

должно работать.

Если вы используете Javascript, взгляните на Принудительно открывать ссылку в мобильном сафари из веб-приложения с помощью javascript

Похоже, вам нужно сделать что-то вроде

HTML:

<div id="foz" data-href="http://www.google.fi">Google</div>

JS:

document.getElementById("foz").addEventListener("click", function(evt) {
    var a = document.createElement('a');
    a.setAttribute("href", this.getAttribute("data-href"));
    a.setAttribute("target", "_blank");

    var dispatch = document.createEvent("HTMLEvents");
    dispatch.initEvent("click", true, true);
    a.dispatchEvent(dispatch);
}, false);

Проверьте это в (http://www.hakoniemi.net/labs/linkkitesti.html)

Источники:

Открывать ссылки в Safari вместо UIWebVIew?

Как заставить ссылки открываться в iOS Safari?

https://www.hackingwithswift.com/example-code/uikit/how-to-use-sfsafariviewcontroller-to-show-web-pages-in-your-app

Принудительно открывать ссылки в мобильном сафари из веб-приложения с использованием javascript

...