2011-09-20 6 views
0

플래시 프리 로더가 발생할 수있는 두 가지 상태가 있습니다.
1) totalBytes가 알려져 있습니다 (swf의 최종 파일 크기)
2) totalBytes를 알 수 없습니다 (서버가 제공된/출력 파일을 압축하는 경우 발생).플래시 프리 로더, gzipped 환경에서 적절하게로드하는 방법

현재 totalBytes == 0 (Chrome, Safari)은 swf가 불확실하고 loadedBytes가 표시된 반복 애니메이션을 표시합니다.
HOWEVER in Firefox totalBytes == loadedBytes. 나는 이것이 프리 로더가 다운로드 된 퍼센트를 결정하려고 할 때 제로 예외에 의한 많은 분열을 막기 위해 행해진 것이라고 추측 할 수 있습니다.

문제점 :
현재 내가 어떤 프리로드 상태 (확정 된 파일 크기 또는 불확정 파일 크기)를 결정할 수있는 다른 방법이 있습니까?

답변

1

apache가 서버의 모든 트래픽을 압축하거나 gzips하면 swf 파일의 파일 크기에 대한 정보가 손실됩니다. 일반적으로 swf 파일의 크기가되어야하는 totalBytes 값을 확인합니다.이 값이 0이면 gzipped 환경에 있습니다. 파이어 폭스가 totalBytes == loadedBytes을 설정하기 때문에

if (loaderInfo.totalBytes == 0) // gzipped environment 

그러나 특별한 경우 검사가, 파이어 폭스에 대해 수행 될 필요가있다.

if (loaderInfo.totalBytes == loaderInfo.loadedBytes) // gzipped environment 
// OR the loaded swf is very small. 
// check the load is COMPLETE Event, if !loadComplete than gzipped environment 
0

LoaderMAX를 사용하는 것이 좋습니다. 외부 파일을로드하는 데 너무 간단하고 사용하기 쉽기 때문입니다. 확인 this

+0

내 질문에 대한 답변이 없습니다. 제 3 자 툴킷을 사용하는 것이 아니라 어떤 변수가 사용되는지 이해하는 것입니다. 또한 라이센스 제한으로 인해 다시 사용할 수 없습니다. 재판매, 재배포해야합니다. – eLouai