проблема с песочными часами в Firefox при переключении вкладок - PullRequest
0 голосов
/ 31 марта 2011

У меня очень странная проблема в моем веб-приложении.

Я использую icefaces с jsf и на некоторых моих страницах (пожалуйста, не спрашивайтекод, потому что его много :) Я вижу эффект песочных часов, появляющийся на firefox.

Я могу четко подтвердить, что, так или иначе, цикл jsf не полностью завершен.( все компоненты видны, но проверка не работает ).

Обратите внимание, что эта проблема не появляется, если я нажимаю F5 , но только когда я переключаю некоторые вкладки, что в основном меняет содержание основной формы) ...

Ребята, у вас есть предложения?Google не помог мне ... ни Firebug ...

UPDATE : - после дальнейшего изучения Firebug кажется, что когда я выполняю ajax POST, он не загружает скрипты иcss, который находится внутри <body> </body> (вы увидите в ответе, почему он помещает здесь некоторые CSS и скрипты) ... но только те из <head>...</head>

1 Ответ

0 голосов
/ 01 апреля 2011

Проблема решена !!! (пожалуйста, смотрите мое обновление, прежде чем читать этот ответ)

У меня был этот код в моем основном шаблоне:

<head>
<ui:include
    src="/WEB-INF/jsf/common/templates/main/commonResources-include.xhtml" />
</head>

Теперь обратите внимание, что commonResources-include.xhtml имеет этот код (обратите внимание на теги html!)

<html
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets">

..code..
</html>

Кажется, что всякий раз, когда вы используете эти компоненты Facelets для включения, шаблонирования и т. Д., Вы ДОЛЖНЫ использовать теги <ui:composition>, а не <html>, потому что теги html могут сбить механизм рендеринга браузера! Странно то, что во многих примерах из Интернета используются теги html для этих лицевых сторон, которые не вызывают проблем в примерах helloWorld, но могут быть проблемой в сложных приложениях!

Итак, окончательный код:

<ui:composition
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets">
..code..
</ui:composition>
...