Если что-то с WebView на Android не работает, я всегда стараюсь установить такие сумасшедшие флаги, как,
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setDisplayZoomControls(false);
webSettings.setSupportZoom(true);
webSettings.setDefaultTextEncodingName("utf-8");
Интересно, почему они не установлены по умолчанию, кто ожидал бы, что веб-страницы без содержания javascript в настоящее время, и какова польза от включения javascript, когда DOM недоступен, если не указано иное. Надеюсь, кто-то уже подал это как ошибку или улучшение / запрос на добавление, и обезьяны работают над этим.
и затем гнилые вещи где-то гниют, как это:
webView.getSettings().setPluginState(PluginState.ON);
Все это для загрузки веб-страниц внутри приложения.
В iOS все так просто - Swift 3.0
private func openURLWithInAppBrowser(urlString:String) {
guard let url = URL(string:urlString) else {
return
}
let sfSafari = SFSafariViewController(url:url)
present(sfSafari, animated: true, completion: nil)
}