powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как узнать, что используется iPhone
20 сообщений из 20, страница 1 из 1
Как узнать, что используется iPhone
    #37921986
D_A_S1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Есть web-приложение на ASP.NET 2.0. Мне нужно программно для пользователей, которые заходят с iPhone, выводить текст сообщения.
Для этого я использую следующий код:
Код: c#
1.
2.
3.
4.
if (HttpContext.Current.Request.Browser.MobileDeviceModel == "IPhone")
{
//... тут текст
}


Однако такая конструкция не работает. Подскажите как это можно определить?
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922019
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_A_S1,

Сам в ASP толком не понимаю но совет дам! )

"Например, вы можете добавить следующий код в Application_Start в файле Global.asax:

Код: c#
1.
2.
3.
4.
5.
DisplayModes.Modes.Insert(0, new DefaultDisplayMode("iPhone") 
{ 
    ContextCondition = (context => context.Request.UserAgent.IndexOf 
        ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0) 
});



Этот код определяет новый тип представления “iPhone” и указывает на условие, когда такое представление нужно использовать: когда строка агента клиента пользователя содержит строку “iPhone”, что указывает на использование мобильного телефона iPhone пользователем. При выполнении этого условия будет использоваться представление Views\Shared\_Layout.iPhone.cshtml.
"

Может поможет.
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922074
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexxxxx, раз не понимаете, то лучше не давайте советов :)

1. Обращение к HttpContext.Request в обработчике события Application_Start может вызвать System.Web.HttpException: Request is not available in this context. Код должне выглядеть так:
Код: c#
1.
2.
3.
4.
5.
            DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone")
            {
                ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf
                    ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)
            });


2. Данный код относится к ASP.NET MVC 4 Mobile Features , а ТС пишет, что у него приложение на ASP.NET 2.0 :)
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922086
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. И где вообще сказано, что речь о MVC?
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922092
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA...
2. Данный код относится к ASP.NET MVC 4 Mobile Features , а ТС пишет, что у него приложение на ASP.NET 2.0 :)
Но разве он не может написать
Код: c#
1.
2.
3.
4.
5.
if (HttpContext.Current.Request.UserAgent.IndexOf 
        ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)
{
//... тут текст
}



и так определить

D_A_S1пользователей, которые заходят с iPhone,
?
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922094
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0. А какое вообще отношение имеет Application_Start которое может происходить, к примеру (+/-) раз в сутки к заходу пользователя на страницу? Уж тогда Session_Start ближе подходит.
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922117
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexxxxx, iConst, прочтите главу, ссылку на которую я дал :)

Свойство UserAgent содержит информацию о браузере, а не об устройстве, на котором последний запущен. Наличие подстроки "iPhone" говорит о том, что пользователь использует брайзер, что установлен на iPhone по умолчанию. Если к примеру пользователь поставил себе оперу на айфон, то не уверен, что проверка свойства UserAgent поможет. :)
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922126
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

И я не уверен. Просто мне недавно встретился этот вариант и я решил его предложить. ТС ведь не сказал в чем именно проблема. Может и его способ заработал бы, если бы он сравнивал строки без учета регистра.
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922130
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

HttpContext.Current.Request.Browser.MobileDeviceModel надеюсь действительно "Получает наименование модели мобильного устройства, если оно известно."? Интересно было бы знать от чего именно зависит это самое "если оно известно"?
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922146
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_A_S1,

А что, айфон (у меня есть только айпад и айпод) не поддерживают тот хтмл, который генерится с помощью аспнет, или это - гнусный оффтоп?
ПС. Определить какое у меня "железо" нельзя никак. Потому что прибью в реале.
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922210
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxПросто мне недавно встретился этот вариант и я решил его предложить.
Ваш вариант может привести к исключению. Вот статья на тему: IIS7 Integrated mode: Request is not available in this context exception in Application_Start
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922229
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВаш вариант может привести к исключению. Вот статья на тему: ...
Суть моего предложения не в том, что надо вызвать этот код именно в Application_Start в файле Global.asax:!
Суть в том что надо было строки без учета регистра сравнивать, а если не поможет то попробовать еще Request.UserAgent на наличие строки iPhone без учета регистра поискать. А где он это вызывать пробует я знать не знаю, и знать не хочу. Раз он уже сказал "Для этого я использую следующий код: if (HttpContext.Current.Request.Browser.MobileDeviceModel == "IPhone")", то наверное знает где ему его надо вызывать. Он не спрашивал где его надо вызывать! Я ж кавычки специально поставил, чтобы показать что это я цитату выдрал откуда-то! ТС не спрашивал где проверять! Он спрашивал как проверять! (имно)
Модераторы, выпилите пожалуйста из второго сообщения в этой теме предложение ""Например, вы можете добавить следующий код в Application_Start в файле Global.asax:", так как оно имно вводит людей в заблуждение!
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922488
D_A_S1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

речь идет о воспроизведении аудио. Сейчас это делается через флэш-плеер. Однако на iPhone нет поддержки флэша. Поэтому для таких пользователей я хочу сделать, чтобы аудио воспроизводилось на сайте через тэг audio HTML5.
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922523
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
А не надо отсылать к каким-то статьям - я задал конкретный вопрос: как соотносится старт ASP.Net приложения и пользовательской активностью?
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922529
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправка: ... и с пользовательской активностью.
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922540
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iConst, Вы так и не поняли, что делает код, который предлагалось разместить в Application_Start. Ваш вопрос не корректен в контексте предлагаемого решения, поэтому я и предложил Вам прочитать статью :)
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922545
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_A_S1речь идет о воспроизведении аудио. Сейчас это делается через флэш-плеер. Однако на iPhone нет поддержки флэша. Поэтому для таких пользователей я хочу сделать, чтобы аудио воспроизводилось на сайте через тэг audio HTML5.Понять, что флэш не поддерживается можно на клиенте, к примеру при помощи JQUERY BROWSER PLUGIN DETECTION
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922549
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ещё статья на тему: Providing alternative content for SWF files
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922550
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_A_S1,

Попробуй:
Код: c#
1.
2.
3.
4.
5.
            string ua = Request.UserAgent;
            if (ua != null && (ua.Contains("iPhone") || ua.Contains("iPad")))
            {
                //do stuff
            }

Правда, здесь LINQ - в 2-ке его нет, но просто посмотреть Request.UserAgent и понять что приходит с огрызков, а там уж ручками...
...
Рейтинг: 0 / 0
Как узнать, что используется iPhone
    #37922553
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAD_A_S1речь идет о воспроизведении аудио. Сейчас это делается через флэш-плеер. Однако на iPhone нет поддержки флэша. Поэтому для таких пользователей я хочу сделать, чтобы аудио воспроизводилось на сайте через тэг audio HTML5.Понять, что флэш не поддерживается можно на клиенте, к примеру при помощи JQUERY BROWSER PLUGIN DETECTION
Гораздо проще проверить не нулл ли этот самый объект и никаких жКверёв и плагинов не нужно. Но сейчас делают с точностью до наоборот, то есть, проверяют поддерживает ли браузер хтмл5 или нет (тоже на нулл проверяют). Если нет - флеш.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как узнать, что используется iPhone
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]