Я создаю шаблонный файл xhtml, который выглядит как richfaces-showcase main.xhtml:
<!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" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j"> <f:view contentType="text/html"> <h:head> <!-- Mimic Internet Explorer 8 --> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> <title>My title</title> </h:head> <h:body> <div id="page"> <ui:insert name="body"> Body content missed </ui:insert> </div> </h:body> </f:view> </html>
И на подстранице я определил «тело шаблона» и добавил в свою подстраницу a4j: poll, который я хочу использовать для обновления данных каждые 5 секунд:
<!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" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:rich="http://richfaces.org/rich" xmlns:c="http://java.sun.com/jsp/jstl/core"> <ui:composition template="/templates/main.xhtml"> <ui:define name="body"> <h:form> <a4j:poll id="poll" interval="5000" enabled="true" action="..." render="poll,grid" /> </h:form> <h:form> <h:panelGrid columns="2" width="80%" id="grid"> sorry, details forgot ... </h:panelGrid> </h:form> </ui:define> </ui:composition> </html>
Но вопрос в том, что когда я открываю свою подстраницу с IE8 на локальном компьютере, a4j: poll может обновить данные один раз, а затем никогда больше не получить данные. когда я открываю подстраницу с IE6 или IE8 на другом компьютере, она работает нормально! Кто-нибудь может выяснить причину? Заранее спасибо !!
Я работал с EmulateIE8. Но, вероятно, при использовании его в интрасети IE может действовать по-другому.
Проверьте режим браузера и режим документа (нажмите F12 ).
Я получил: стандарты IE9 / IE8.
меняю
<h:head> <!-- Mimic Internet Explorer 8 --> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> <title>My title</title> </h:head>
до
<h:head> <!-- Mimic Internet Explorer 7 --> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <title>My title</title> </h:head>
и теперь это работает ... но почему?