2013-02-12 3 views
3

Мне нужно приложение для запуска в стандарте документа IE9, и я не могу понять, почему он автоматически отображает в стандарте документа IE8.IE9 рендеринг IE8 document standard

Я использую JSF 2.1.17 и Primefaces 3.4, работающий в Glassfish 3.1.2. Моя IDE - NetBeans-7.1.2. Когда я открываю инструментов разработчика в IE, на вкладке «HTML» показывает:

<--!DOCTYPE html--> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

Однако на вкладке «Скрипт» показывает:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML lang=en xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<HEAD> 
<META content="IE=8.0000" http-equiv="X-UA-Compatible"> 

Я просмотрел все мои страниц и шаблонов, и нет ГДЕ я могу найти мета-контент = «IE = 8.0000» или! DOCTYPE, который показан выше. Это очень странно.

Все мои страницы имеют:

<!DOCTYPE html> 

Мой главный шаблон имеет это:

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:p="http://primefaces.org/ui" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core"> 

Другие страницы имеют:

<!DOCTYPE html> 

<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
       xmlns:ui="http://java.sun.com/jsf/facelets" 
       xmlns:f="http://java.sun.com/jsf/core" 
       xmlns:h="http://java.sun.com/jsf/html" 
       xmlns:p="http://primefaces.org/ui" 
       template="/layout/someFile.xhtml" > 

Вот вещи, которые я пытался:

1) Обновление прислал JSF Glassfish до 2.1.17, так как я читал, что была ошибка с более старыми версиями Mojarra, из-за которых он игнорировал DOCTYPE.

2) Я добавил:

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

на каждой странице, надеясь, что он будет применять IE9, но это не сработало.

3) Затем я попытался использовать content = "IE = Edge", по-прежнему никаких изменений.

4) Я изменил мой DOCTYPE на:

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

неуверенных, если XHTML нужен этот строгий DOCTYPE, чтобы правильно отображались. Но это не сработало.

Любая помощь будет отличной. Я проделал много исследований, пытаясь разобраться в этом, но я новичок в веб-разработке, поэтому я понимаю, что я довольно ограничен.

+1

Что именно является источником, который фактически получил браузер? Rightclick, * View Source *. Это то же самое в Firefox/Chrome/etc? Что касается метатега, см. Этот дубликат http://stackoverflow.com/questions/13742786/scrollable-div-only-scrolls-structure-but-not-data-of-primefaces-datable-in-ie8/13743222#13743222 – BalusC

+0

Источник, полученный браузером, является правильным. Это то же самое в FF/Chrome/Safari. Единственная проблема - режим документа. <: Фаска имя = "первый" е> на каждой странице или просто нужно добавить ли шаблонные страницы? – patient957

+1

Обертка метатега в гранях решена. Есть ли хороший источник информации о том, где больше читать, когда нужно обернуть теги в фасетке? – patient957

ответ

5

Я добавил:

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

на каждой странице, надеясь, что он будет применять IE9, но это не сработало.

Согласно MSDN document на этот мета тег,

Заголовок X-UA-Compatible не чувствительно к регистру; однако он должен появляться в заголовке веб-страницы (раздел HEAD) перед всеми другими элементами, за исключением элемента заголовка и других мета-элементов.

это должно появиться перед всеми остальными элементами ожидать <title> и других <meta> элементов. Если вы тщательно изучите HTML-код, основанный на JSF/PrimeFaces, вы увидите, что перед этим будет элемент <link> PrimeFaces, который блокирует заголовок X-UA-Compatible от выполнения его работы.

PrimeFaces supports несколько граней для <h:head>, чтобы вы могли контролировать порядок ресурсов головы. Следующий должен сделать это для вас:

<f:facet name="first"> 
    <meta http-equiv="X-UA-Compatible" content="IE=9" /> 
</f:facet> 

Опять же, это относится только к PrimeFaces, а не стандартным JSF.

+0

Еще раз спасибо, очень помогли и исправили проблему. – patient957

+0

что я искал. Еще раз спасибо. – Darka