2012-04-06 2 views
3

У меня есть страница PHP, которая разбивается на IE 6 и 7, поэтому я хочу, чтобы пользователи не использовали IE. Предупреждения и уведомления будут определенно проигнорированы ими. Как решение, могу ли я просто прекратить рендеринг страницы, если запрос поступит из IE и просто отобразит строку, в которой IE не поддерживается?Не показывать страницу PHP в IE

Я новичок в php и, следовательно, вопрос. IE SUCKS!

+1

Это не проблема с PHP и то есть - его проблемы с HTML и т, потому что PHP - только генерируется HTML текст. – yAnTar

+1

http://stackoverflow.com/questions/7745412/ie-specific-message – iambriansreed

ответ

2

Использование проверки агента пользователя:

if(stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0')) { 
    echo 'IE6' 
}; 

if(stristr($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0')) { 
    echo 'IE7'; 
}; 
+0

Будет ли он работать для всех вариантов и подрывных действий IE 6 и 7? – user1263746

+1

Вы имеете в виду пакеты обновления? Да. – Askent

+0

Протестировано, отлично работает! Благодаря! – user1263746

1

Да, вы можете:

if (isset($_SERVER['HTTP_USER_AGENT']) && 
    (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)) 

Его только фрагмент и я знаю, что IE не лучший браузер, но хороший программист должен смотреть на всех браузеров и сделать их во всех правильных ... это настоящая трудность в веб-разработке.

+0

Я согласен ... IE 8 и дальше достаточно хороши ... но IE 6 и 7 - это ад с CSS и JavaScript ... поэтому я хотел отключить IE 6 и 7. – user1263746

+0

Я частично согласен. «Хороший программист смотрит на все браузеры, чтобы он исправился, это трудность в Интернете»: конечно, но без IE это браузер сделан ногами! Если ошибка находится в браузере, почему программист должен их исправить? Microsoft ДОЛЖНА исправить их! Если все веб-разработчики перестанут исправлять ошибки IE, вы увидите лучшую новую версию IE. – user2342558

1

вы можете сделать тест на HTTP_USER_AGENT из суперглобального $ _SERVER;

, но только, чтобы дать еще один вариант (который не может быть то, что вам нужно, так как она получает намного больше информации, и необходим дополнительный файл), вы можете использовать get_browser, которая опирается на browscap это больше в случае, если вы когда-нибудь нужны другие Дополнительная информация о посетителе

2

Вы можете получить доступ к параметру запроса пользовательского агента HTTP с помощью: $ _SERVER ['HTTP_USER_AGENT'].

$usingIE6 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== FALSE); 

if ($usingIE6) { 
    echo 'Please upgrade your browser'; 
    exit; 
} 

Статистика использования здесь, IE 6 имеет долю рынка 7%: http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2&qpcustomd=0

0

PHP есть функция get_browser, которая будет возвращать всю информацию о версии вам нужно.

Вы также можете использовать условные комментарии, которые IE сможет расшифровать:

<!--[if lt IE 8]>Your browser is too old for this app. Please upgrade.<![endif]--> 
Смежные вопросы