none
Internet Explorer (Совместимость) RRS feed

  • Вопрос

  • Здравствуйте! Нужно очень быстро создать сайт, времени на поиск информации мало. Пожалуйста помогите!

    Вопрос такой: как реализовать, чтобы сайт запускался только на Internet Explorer, а на других браузерах выдавал предупреждение.

     

    И второе: Чтобы сайт запускался в IE8 (WinXp) в режиме совместимости с IE8, в IE9 по умолчанию - под него пишется сайт, а в версиях 10 и выше в режиме совместимости с IE9. Если версия браузера ниже 8 в WinXP - уведомление об обновлении и если версия ниже 9 в Windows Vista и выше - просьба об обновлении!

    Можно ли это реализовать с помощью X-UA- Compatible?

     

    Это требование начальства!

     

    • Изменено Amychok 11 февраля 2011 г. 10:33
    11 февраля 2011 г. 8:52

Ответы

  • чтобы решать проблемы за два шага нужно много опыта

    попробуйте сначала хотябы за 10 шагов решить проблему так как вам предлагали,

    чем не устраивают варианты через яваскрипт или Response.Browser?

    попробуйте использовать Conditional Comments

     

    <!--[if gte IE 8]>
    <p>You're using a recent version of Internet Explorer.</p>
    <![endif]-->
    
    <!--[if lt IE 7]>
    <p>Hm. You should upgrade your copy of Internet Explorer.</p>
    <![endif]-->
    
    <![if !IE]>
    <p>You're not using Internet Explorer.</p>
    <![endif]>

    только вместо текста попробуйте вставить нужные X-UA- Compatible тэги

     

     

     

    пример использования свойств браузера

     

    private float getInternetExplorerVersion()
    {
    
     float rv = -1;
     System.Web.HttpBrowserCapabilities browser = Request.Browser;
     if (browser.Browser == "IE")
     rv = (float)(browser.MajorVersion + browser.MinorVersion);
     return rv;
    }
    
    private void Page_Load(object sender, System.EventArgs e)
    {
     string msg;
     double ver = getInternetExplorerVersion();
     if (ver > 0.0)
     {
     if (ver == 9.0) 
     msg = "Вы используете ПРАВИЛЬНУЮ версию Internet Explorer.";
     else
     msg = "Ви используете НЕПРАВИЛЬНУЮ Internet Explorer, ПЕРЕУСТАНОВИТЕ";
     } 
     else
     msg = "КАК, вы не используете Internet Explorer? наш сайт не для вас, извините.";
    
     Label1.Text = msg;
    }

     

    • Помечено в качестве ответа Amychok 14 февраля 2011 г. 8:51
    11 февраля 2011 г. 17:50

Все ответы

  • используйте javascript Для определения версии браузера

    пример1 пример2

    поиск в гугле по строке "javascript browser detect"

    для определения версии OS, аналогичный пример

    поиск в гугле по строке "javascript os detection"

    11 февраля 2011 г. 9:48
  • А без JavaScript можно!?

    А есть код, чтобы не перечислять все запрещённые браузеры, а чтобы запретить все не IE?

    • Изменено Amychok 11 февраля 2011 г. 10:22 Дополнил
    11 февраля 2011 г. 10:19
  • Для того, чтобы на сервере определить версию браузер клиента используйте 

    объект Request.Browser, пример, еще пример

    вся необходимая инфа находится в строчке

     Request.UserAgent

    после того как вы определите удовлетворяет ли клиент вашим требованиям

    - можете перенаправить его на страницу с ошибкой

    p.s. вам не нужно перечислять все версии, просто сравнивайте с требуемой,

    если нет - редирект

    11 февраля 2011 г. 10:29
  • Можно ли это реализовать с помощью X-UA- Compatible?

    Я как думал: с помощью X-UA-Compatible буду сравнивать версии браузеров IE и в зависимости от версии предлагать обновление, либо запускать в режиме совместимости. И отдельно реализовать запуск только с IE.

    • Изменено Amychok 11 февраля 2011 г. 10:46 Дополнил вопрос
    11 февраля 2011 г. 10:42
  • Нет, с помощью X-UA- Compatible фильтровать браузеры не получится. Этот мета-тег указывает лишь то, как должна быть отображена страница в IE браузере, т.е. какая должна быть включена совместимость.
    Для связи [mail]
    11 февраля 2011 г. 10:53
    Модератор
  • Я понимаю и хочу сделать это в два шага, я хотел спросить как реализовать через  X-UA- Compatible:

    чтобы сайт запускался в IE8 (WinXp) в режиме совместимости с IE8, в IE9 по умолчанию - под него пишется сайт, а в версиях 10 и выше в режиме совместимости с IE9. Если версия браузера ниже 8 в WinXP - уведомление об обновлении и если версия ниже 9 в Windows Vista и выше - просьба об обновлении!

     

    Я читал в статьях на сайте, браузер распознаёт только первую строку X-UA- Compatible, но через неё можно расписать действия для разных версий! Проблема в том, что я не могу сконфигурировать правильно код, т.к. мало опыта.

    • Изменено Amychok 11 февраля 2011 г. 17:25 Дополнение вопроса
    11 февраля 2011 г. 17:18
  • чтобы решать проблемы за два шага нужно много опыта

    попробуйте сначала хотябы за 10 шагов решить проблему так как вам предлагали,

    чем не устраивают варианты через яваскрипт или Response.Browser?

    попробуйте использовать Conditional Comments

     

    <!--[if gte IE 8]>
    <p>You're using a recent version of Internet Explorer.</p>
    <![endif]-->
    
    <!--[if lt IE 7]>
    <p>Hm. You should upgrade your copy of Internet Explorer.</p>
    <![endif]-->
    
    <![if !IE]>
    <p>You're not using Internet Explorer.</p>
    <![endif]>

    только вместо текста попробуйте вставить нужные X-UA- Compatible тэги

     

     

     

    пример использования свойств браузера

     

    private float getInternetExplorerVersion()
    {
    
     float rv = -1;
     System.Web.HttpBrowserCapabilities browser = Request.Browser;
     if (browser.Browser == "IE")
     rv = (float)(browser.MajorVersion + browser.MinorVersion);
     return rv;
    }
    
    private void Page_Load(object sender, System.EventArgs e)
    {
     string msg;
     double ver = getInternetExplorerVersion();
     if (ver > 0.0)
     {
     if (ver == 9.0) 
     msg = "Вы используете ПРАВИЛЬНУЮ версию Internet Explorer.";
     else
     msg = "Ви используете НЕПРАВИЛЬНУЮ Internet Explorer, ПЕРЕУСТАНОВИТЕ";
     } 
     else
     msg = "КАК, вы не используете Internet Explorer? наш сайт не для вас, извините.";
    
     Label1.Text = msg;
    }

     

    • Помечено в качестве ответа Amychok 14 февраля 2011 г. 8:51
    11 февраля 2011 г. 17:50
  • <![if !IE]>
    <p>You're not using Internet Explorer.</p>
    <![endif]>
    Спасибо работает, но теперь при запуске IE появляется окно с уведомлением о блокировании ActiveX
    14 февраля 2011 г. 7:02