我的Web应用程序出现一些问题,如果用户单击Facebook应用程序中的链接,它将使用它自己的浏览器/网络视图,但是必须使用Safari或Chrome才能运行该页面。
研究(this issue)时,我发现您可以在Android设备上使用 googlechrome:// navigate?url = example.com 打开chrome和 googlechrome从iOS://://myurl.com 也可以打开Chrome,但是如果用户的设备是iOS,则我需要一种方法来打开Safari。
有办法吗?
Ps .:用户在Facebook中单击的链接将转到登录页面,此页面上有一个指向Web应用程序的按钮。当用户单击此按钮时,我将打开Chrome / Safari。
谢谢!
答案 0 :(得分:0)
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,请看一看 Force link to open in mobile safari from a web app with 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)上进行测试
来源:
Open links in Safari instead of UIWebVIew?
How to force links to open in iOS Safari?
Force link to open in mobile safari from a web app with javascript