• Главная
  • Карта сайта
Не найдено

Використовуємо ASP.NET 4 визначення браузера в ASP.NET 3.5

  1. Що нового в файлах визначення браузера в ASP.NET 4
  2. Перевірка налаштувань браузера
  3. Перераховуємо визначення браузерів
  4. висновок

Ми оновили файли визначення браузера в ASP.NET 4 , Тепер вони містять інформацію про таких браузерах і пристроях, як Google Chrome і iPhone. Ви можете використовувати файли визначення браузера і в більш ранніх версіях ASP.NET, наприклад в ASP.NET 3.5. Оновлені файли визначення інформації та інструкції по установці можуть бути знайдені тут

Зміни в файлах визначення браузера можуть викликати проблеми зворотної сумісності, якщо ви оновлюєте ASP.NET 3.5 проект до ASP.NET 4. Якщо у вас виникли такі проблеми, то у вас є можливість завантажити старий файли визначення браузера в ASP.NET додаток.

Що нового в файлах визначення браузера в ASP.NET 4

Повний список підтримуваних браузерів в нових файлах визначення ASP.NET 4 можна побачити на наступній діаграмі:

Якщо ви уважно подивитеся на структуру вище, то виявите, що були додані нові браузери такі, як Internet Explorer 8, Firefox 3.5, Google Chrome, Opera 10 і Safari 4.

Більш того, ми додали підтримку найпопулярніших мобільних браузерів: BlackBerry, iPhone, iPod і Windows Mobile (IEMobile). Мобільні пристрої підсвічені в діаграмі фіолетовим кольором. Для поліпшення продуктивність були прибрані застарілі браузери для стільникових і мобільних пристроїв.

Ми так само підчистили інформацію, що міститься в файлах визначення браузера. Кілька прикладів застосування:

Are you a mobile device? <% = Request.Browser.IsMobileDevice%> <br> Are you an IPhone? <% = Request.Browser.MobileDeviceModel == "IPhone"%> <br> What version of JavaScript do you support? <% = Request.Browser [ "javascriptversion"]%> <br> What layout engine do you use? <% = Request.Browser [ "layoutEngine"]%>

Ось, що ми побачимо в Internet Explorer 8:

А це результат в Google Chrome:

Перевірка налаштувань браузера

Коли ви працюєте з файлами визначення браузера, дуже зручно мати можливість перевірити повернулася інформацію, коли ви запитуєте сторінку з різних браузерів. Ви можете використовувати наступний метод для отримання HttpBrowserCapabilities відповідні користувальницької рядку агента і набору заголовків браузера.

public HttpBrowserCapabilities GetBrowserCapabilities (string userAgent, NameValueCollection headers) {HttpBrowserCapabilities browserCaps = new HttpBrowserCapabilities (); Hashtable hashtable = new Hashtable (180, StringComparer.OrdinalIgnoreCase); hashtable [string.Empty] = userAgent; // The actual method uses client target browserCaps.Capabilities = hashtable; var capsFactory = new System.Web.Configuration.BrowserCapabilitiesFactory (); capsFactory.ConfigureBrowserCapabilities (headers, browserCaps); capsFactory.ConfigureCustomCapabilities (headers, browserCaps); return browserCaps; }

В кінці поста ви знайдете посилання для завантаження простого VS 2008 проекту, Browser Definition Test, який використовує дані методи для відображення інформації про можливості для довільних рядків призначеного для користувача агента. Наприклад, якщо ви введете рядок агента для iPhone, то отримаєте наступний результат:

Додаток Browser Definition Test дозволяє вам відправити рядок агента і вивести таблицю можливостей браузера.

Файли визначення браузера містять приклад рядка агента для кажого браузера. Зараз я взяв рядок агента для iPhone з файлу iphone.browser:

Перераховуємо визначення браузерів

Деякі люди запитують, чи існує спосіб перерахувати всі визначення браузерів. Для цього потрібно скористатися рефлекции і читати приватні властивості.

Файли визначення браузера в папці config \ browsers Парс класом BrowserCapabilitesFactory. Після запуску інструменту aspnet_regbrowsers, ви можете переглянути вихідний код даного класу в директорії config \ browser, відкривши BrowserCapsFactory.cs.

Клас BrowserCapabilitiesFactoryBase містить protected властивість з ім'ям BrowserElements, яке представляє Hashtable всіх определнного браузера. Ось приклад, який показується, як можна вважати і вивести ID всіх визначень браузера:

var propInfo = typeof (BrowserCapabilitiesFactory) .GetProperty ( "BrowserElements", BindingFlags.NonPublic / BindingFlags.Instance); Hashtable browserDefinitions = (Hashtable) propInfo.GetValue (new BrowserCapabilitiesFactory (), null); foreach (var key in browserDefinitions.Keys) {Response.Write ( "<br>" + key); }

Запускаємо програму в VS 2008: Додати

У вас з'явиться величезний список браузерів і пристроїв. Всього їх 449.

Якщо ж запустити проект в VS 2010, то картина трохи інша:

Якщо ж запустити проект в VS 2010, то картина трохи інша:

У новій версії, було видалено 19 застарілих визначень.

висновок

Оновлені файли визначення браузера в ASP.NET 4 надають більш точну інформацію про пристроях і браузерах. Якщо ви бажаєте по тестувати нові визначення браузерів з різними призначеними для користувача агентами, тоді я рекомендую вам завантажити проект Browser Definition Test .

Посилання по темі

IsMobileDevice%> <br> Are you an IPhone?
MobileDeviceModel == "IPhone"%> <br> What version of JavaScript do you support?
Browser [ "javascriptversion"]%> <br> What layout engine do you use?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью