2013-08-13 4 views
0

여러 언어를 지원하는 데 필요한 작은 HTML5 페이지를 작성했습니다. 페이지를 메모리에 HEAD로 JSON 파일을로드하고 jQuery 명령을 실행하여 필요에 따라 모든 요소의 텍스트를 변경함으로써 언어 제어를 구현했습니다.렌더링 전에 HTML5 페이지 텍스트 업데이트

변경 사항이 게시 후 렌더링 (문서 준비 기능 인 경우)으로 변경되면 언어가 변경 될 때 약간의 플래시가있는 것 외에는 모두 잘 작동합니다.

페이지가 렌더링되기 전에 호출되지만 DOM을 사용할 수있게 된 후에 이벤트가 발생합니까? 그렇지 않은 경우 구현을 변경하기위한 제안 사항이 있습니까?

건배 ..

UPDATE 내가 다른 사이트에 여기에 몇 가지 답변을 발견했습니다

. 일반적인 컨센서스는 대부분의 브라우저가 구문 분석 할 때 렌더링 할 수 없으므로 가능하지 않은 것으로 보입니다. 해결 방법은 문서 준비 기능에서 업데이트 한 후 본문을 숨기고 (표시 : '없음') 스크립트에 표시 한 다음 표시 (표시 : ')하는 것입니다. 100 % 완벽하지는 않지만 일종의 작품입니다. 하지 당신은 아마 찾고있는 사람이, 출력 버퍼링을 사용하는 것입니다하지만 당신이

FOUC (스타일이 적용되지 않은 내용의 플래시)에 문제가있는 것처럼

+1

몇 가지 코드를 보여 주시겠습니까? –

+0

어떻게 완벽하지 않습니까? 아직도 플래시가 나고 있니? –

답변

1

는 소리 주위를 둘러 쌀 수있는 몇 가지 방법이 있습니다. 다음이 처음 페이지를 숨겨 작동

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

및 :

<body class="fouc"> 

를 그리고이 CSS가 : 당신은 당신의 몸이를 추가 할 수

.fouc{display:none;} 

그리고 마지막으로이 스크립트를 일단 당신이 준비가되면, 자바 스크립트로 켜십시오. $('.fouc').show(); 호출보다 먼저 조작을해야 할 수도 있습니다.

+0

다른 사이트에서이 질문에 대한 답을 찾았습니다. 일반적인 컨센서스는 대부분의 브라우저가 해석 할 때 렌더링 할 수 없다는 것입니다. – Howesy

관련 문제