определить Ipad / Iphone веб-просмотра с помощью JavaScript - PullRequest
86 голосов
/ 16 декабря 2010

Есть ли способ отличить с помощью javascript, если веб-сайт работает внутри ipad Safari или внутри приложения WebView?

Ответы [ 14 ]

0 голосов
/ 08 апреля 2016

В прошлый раз, когда я нуждался в этом (ТОЛЬКО для целей WebView), я использовал эту проверку:

function isIOS() {
     return !/safari/.test( window.navigator.userAgent.toLowerCase()) || navigator.platform === 'iOS' || navigator.platform === 'iPhone';
}
0 голосов
/ 21 июня 2011

Я не думаю, что есть что-то конкретное, что вы можете использовать в клиентском Javascript, но если у вас есть контроль над тем, что может делать исходный UIWebView, вы можете подумать об игре с генерируемой им строкой пользовательского агента и тестировании начто в вашем клиентском Javascript вместо этого?Я знаю что-то вроде хака, но эй ... Этот вопрос может дать некоторые советы по настройке пользовательского агента:

Смена агента пользователя в UIWebView (iPhone SDK)

0 голосов
/ 21 июня 2011

Я знаю, что этот код проверит, доступен ли он по значку, добавленному на главный экран:

if (window.navigator.standalone == true) {
//not in safari
}

но я не уверен, как это отреагирует в UIWebView. Единственное другое решение, о котором я могу подумать, - это получить пользовательский агент или использовать - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType и заменить строку запроса страницы, к которой вы обращаетесь, чем-то, что страница использует для определения того, что к ней обращаются из веб-представления.

0 голосов
/ 15 марта 2011

@ Sod, Ну, у меня нет ответа, но я не уверен, почему вы хотите проверить, так как, движок браузера, будет ли его Safari (Браузер) или Приложение таким же, как и его Webkit, Да Приложение может настроить Браузервозможности движка, такие как, хочет ли приложение запустить JS или Display Image и т. д. *

Я считаю, что вы должны проверить для определенного свойства, поддерживается ли Flash браузером, отображает ли браузер изображение или нет, или, возможно, вам этого захочетсяпроверить размер экрана

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...