2013-08-13 5 views
0

Я написал небольшую страницу HTML5, в которой мне нужно поддерживать несколько языков. Я реализовал языковой контроль, запустив загрузку файла JSON в память (в HEAD), а затем выполнив команду jQuery, чтобы изменить текст любого элемента по мере необходимости.Обновить текст HTML5 перед визуализацией

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

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

Приветствия ..

UPDATE

я нашел несколько ответов на это на других сайтах. Общий консенсус, по-видимому, заключается в том, что это невозможно, поскольку большинство браузеров обрабатывают их при анализе. Обходной путь, который предлагается, заключается в том, чтобы скрыть (отобразить: «нет») тело в скрипте, а затем показать его (отображение: «) после обновлений в функции готовности документа. Для меня это работает, хотя на 100% не идеальна.

+1

Не могли бы вы показать нам какой-нибудь код? –

+0

Как это не идеально? Вы все еще получаете вспышку? –

ответ

0

Одно эффективное решение, хотя и не один вы, вероятно, ищет, чтобы использовать буферизацию ... What is output buffering?

1

Похоже, у вас возникли проблемы с FOUC (вспышка) Материалы без стилей

Есть несколько способов обойти это. Вы можете добавить это к вашему телу:

<body class="fouc"> 

И затем этот CSS:

.fouc{display:none;} 

И, наконец, этот сценарий:

$(function(){ 
     $('.fouc').show(); 
}); 

Это работает сначала скрывает страницу, а затем как только вы будете готовы, включив его с помощью javascript. Возможно, вам нужно будет убедиться, что ваши манипуляции происходят перед вызовом $('.fouc').show();.

+0

Я нашел несколько ответов на этот вопрос на других сайтах. Общий консенсус, по-видимому, заключается в том, что это невозможно, поскольку большинство браузеров отображают их при анализе. – Howesy

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