2010-10-29 4 views
1

Я хочу проверить, включен ли браузер для мобильных устройств перед отображением страницы пользователю. Код, который я нашел из моих исследований:Обнаружение, если JavaScript включен в браузере мобильного телефона в ASP.Net

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
Response.Write(browser.EcmaScriptVersion.ToString()); 

Так, чтобы гарантировать, что Javascript включен в браузере, вам необходимо проверить погоду Возвращенный оценивается либо равна или больше 1. Это работает на нормальных браузеров, но когда я тестирую его на своем телефоне, возвращаемое значение всегда равно 0.0, независимо от того, включен ли мой javascript или отключен.

Есть ли способ проверить, включен ли javascript в мобильном браузере или будет ли браузер обрабатывать неспособность самостоятельно?

ответ

2

У меня была такая же проблема. Мы закончили тем, что написали небольшой фрагмент javascript, который установил значение скрытой переменной в форме равным 1 и сразу же отправил обратно сервер на страницу приветствия, а затем сохранил этот намек в сеансе.

его не фантастические, но и между всеми различными мобильными браузерами, а также различными вопросами, которые мы нашли с ними, это было только один мы могли ответить на

+0

Это звучит как логический план для меня. Если значение равно 1, оно включено, иначе он не сможет выполнить изменение, а javascript отключен. Позвольте мне попробовать и вернуться к вам. –

+0

Вы должны быть осторожны, потому что многие браузеры могут поддерживать этот тест, но они не могут поддерживать другие функции. – fravelgue

1

Если вы хотите использовать ASP.NET, чтобы попытаться определить, это, убедитесь, что вы используете последнюю версию Mobile Device Browser File. Без этого ASP.NET имеет очень ограниченную поддержку для обнаружения мобильных браузеров.

Однако единственным надежным способом обнаружения для поддержки браузера является сделать это на странице (в браузере). Лучшее, что мог сказать сервер, было бы, если браузер поддерживает JavaScript, но не знает, отключил ли пользователь это в настройках браузера.

При реализации для мобильного Интернета вам также необходимо знать, что разные браузеры не реализуют всех функций JavaScritp. Это означает, что просто декомпозиция javascript может оказаться недостаточной. Вам нужно протестировать отдельные функции, которые вам нужны. Это определенно невозможно сделать с помощью любой доступной в настоящее время базы данных возможностей сервера на стороне сервера.

Посмотрите, как использовать прогрессивное усовершенствование, когда дело доходит до JavaScript на мобильных веб-страницах. Это поможет гарантировать, что ваш сайт будет использоваться больше людей.

+1

Важное примечание. Этот проект больше не поддерживается и будет удален 29 октября 2010 г., http: //mdbf.codeplex. ком / – fravelgue