2012-01-25 3 views
2

Я разработал сайт, который отлично смотрится в современных браузерах, таких как Chrome, Safari, Firefox и Opera, однако он выглядит ужасно в более старых версиях Internet Explorer.Предотвращение просмотра страницы с помощью Internet Explorer

Есть ли какой-нибудь код, который я могу использовать, который предотвратит загрузку страницы, если она обнаружит более старую версию IE?
Возможно, код может загрузить другую страницу?

Любые идеи о том, как наилучшим образом выполнить это? Благодарю.

+2

Это было предложено буквально десятки раз. См. В качестве небольшого примера http://stackoverflow.com/questions/822508 http://stackoverflow.com/questions/1283704 http://stackoverflow.com/questions/280879 http://stackoverflow.com/questions/ 4743530 –

+0

Возможный дубликат [Как определить, какая версия IE работает в JavaScript?] (Http://stackoverflow.com/questions/280879/how-can-i-determine-which-version-of-ie -a-user-is-running-in-javascript) –

ответ

2

Использование Internet Explorer условных комментарии в вашем HTML

<!--[if lt IE 9]> 
Insert your IE code, like possible redirection or alteration of your page 
<![endif]--> 
+0

Это НЕ хороший способ опубликовать ваш код. Это сейчас считается плохой полиполкой, и его следует избегать любой ценой. – Relic

+0

В зависимости от того, что на самом деле идет не так с его страницами, может быть все, что нужно, это некоторые разные стили для IE, как это обычно бывает. Условия IE не могут быть лучшим способом сделать это, но это самый простой и надежный способ сделать это. – Perry

+0

действительно надежный способ сделать это, это сделать проверку браузера при загрузке и применить стиль к тегу body как к классу. Затем в вашей таблице стилей каскадируется необходимость чего-либо в IE с этим предисловием класса. – Relic

1

Вы можете использовать строку USER_AGENT в $_SERVER, чтобы искать пользовательские агенты, которые содержат строки, уникальные для Internet Explorer. Затем вы можете просто отправить header("Location: google.com") или перенаправить на другую страницу, которая предупреждает об опасностях IE.

+0

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

2

Да конечно, вы можете использовать на стороне клиента, переадресацию или серверный редирект. OR Вы можете просто отображать разные материалы на основе браузера.

Javascript/JQuery:

if ($.browser.msie && parseInt($.browser.version, 10) < 9) { 
    // Do IE specific Tasks 
    // window.location = "http://somewhat.com" 
}else{ 
    //Do other tasks 
} 

PHP:

<?php 
$browser = get_browser(null, true); 
print_r($browser); 
?> 
+1

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

+0

@Tim Спасибо за это. – Relic

+0

Посмотрите, что я там сделал? ;-) – Tim

0

Вы используете JQuery на вашем сайте?

Если да, то вы могли бы использовать браузер валидатор-JS (https://github.com/bml3i/browser-validator-js), чтобы показать дружественные послания пользователя, если они используют любую версию IE. Просто включите браузер-validator-js и jQuery в HTML HEAD и добавьте приведенные ниже коды в HTML BODY.

<script type="text/javascript"> 
    $(document).ready(function() { 
     BrowserValidator.validateBrowser(); 
    }); 
</script> 

Это пример: http://blog.bigcay.com/demo/browser_validator_demo.html

Смежные вопросы