У меня возникли проблемы с моим веб-приложением, когда, если пользователь щелкает ссылку из приложения Facebook, он будет использовать свой собственный браузер / веб-просмотр, но для запуска страницы требуется использовать Safari или Chrome.
Изучая (Эта проблема), я обнаружил, что вы можете использовать googlechrome: // перейти? url = example.com с устройства Android, чтобы открыть Chrome, и googlechrome: //myurl.com с iOS, чтобы открыть Chrome, но мне нужен способ открыть Safari, если устройство пользователя iOS.
Как это сделать?
Ps .: Ссылка, по которой пользователь нажимает в Facebook, ведет на целевую страницу, и на этой странице есть кнопка для веб-приложения. Когда пользователь нажимает эту кнопку, я открою Chrome / Safari.
Заранее спасибо!





В 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?
Принудительно открывать ссылку в мобильном сафари из веб-приложения с помощью javascript