2011-12-28 2 views
8

я по какой-то причине я вызов доктайпа предпочтительно XHTML 1.0 Transitional, и по какой-то причине, каждый раз, когда я открываю его в Internet Explorer, я получаю ...Отключить просмотр совместимости через код В IE?

Браузера режим: IE9 Compat Просмотр
документа Режим: IE7 стандартов

Я даже включать то, что мой доктайп выглядит как с началом моих тегов голов:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 

и да, я близко <body> и <html>.

Любые идеи?

+2

Вы проверили, что сама разметка действительно соответствует валидатору? –

+1

Взгляните на эту статью [Wikipedia article] (http://en.wikipedia.org/wiki/XHTML#Backward_compatibility). Я думаю, что это правильный способ сделать это. Является ли ваш элемент 'html' похожим на первый пример? – FakeRainBrigand

+1

@ JaredFarrish, хорошая идея. Это [валидатор W3C] (http://validator.w3.org/). Это не означает, что MS будет соответствовать ему. Вставьте всю свою страницу в прямой ввод или передайте ссылку. – FakeRainBrigand

ответ

23

Вот документации вы ищете: http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx

Включите этот параметр и IE будет отображаться как в режиме IE9:

<meta http-equiv="X-UA-Compatible" content="IE=9" /> 
+11

лучше IE = Edge, это гарантирует, что он будет отображаться в большинстве стандартов, совместимых в будущих версиях. –

+0

@Sologoub: Удивительно, это то, что я хочу сделать, но как узнать, что, если веб-страницу просматривается в Internet Explorer 7, она будет просматривать ее в стандартах Internet Explorer 7? То же самое с Internet Explorer 8? И еще более поздние версии Internet Explorer? Благодаря! :) –

+2

@AaronBrewer - если вы используете IE = Edge, о котором я упомянул, это будет так. –

9

По умолчанию IE будет оказывать в режиме совместимости для веб-сайтов в то же самое подсеть как клиент. Вы можете исправить это, отключив эту функцию в IE, перейдя в «Инструменты» - «Параметры просмотра совместимости» и сняв флажок «Показывать сайты интрасети в режиме совместимости» или включив метатег, о котором упоминал Сологуб.

+0

Спасибо, но я смотрю больше на основе кода. –

+1

@AaronBrewer - видимо, вы не прочитали последнюю часть моего сообщения, в которой предлагалось использовать метатег. –

+0

Прошу прощения, я недостаточно понимаю ваш ответ. Большое вам спасибо за помощь! –

9

У меня есть это тоже. И я нашел решение:

вставки мета-тег в заголовке HTML:

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/> 

и установить equivalant заголовок:

заголовок ('X-UA-Compatible: IE = Грань') ;

Или, если вы используете Zend Framework (или какой-либо рамки для этого вопроса), что-то, как это будет делать Zend_Controller_Front :: GetInstance() -> GetResponse() -> SetHeader ('X-UA-Compatible', «IE = Край ');

решение в этой ссылке:

http://www.enrise.com/2012/03/internet-explorer-9-compatibility-view-list/

Спасибо.

2

Иногда вам нужно быть более всеобъемлющим, чтобы вы нацеливали все возможные пользовательские переопределения. Конечно, для одностраничных приложений, таких как Meteor:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE; Chrome=1" /> 

Надеюсь, это поможет.

+0

Приятно знать, кто вы указываете несколько версий. – radbyx

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