2009-04-03 2 views
1

저는 앱이 정말 좋지만 일부 사용자에게는로드되지 않습니다. 라이트로드 버전은 항상로드가 좋지만 거의 좋지 않으므로 자바 스크립트를 30 초 동안 기다린 다음 기본 앱에서 라이트 앱으로 전환하려고합니다. 그러나 주 앱이 30 초 안에로드되면 스위치가 주 앱에 유지됩니다.30 초 후에 실행할 기능을 설정하고 취소 할 수 있습니까?

기본적으로 30 초 후에 기능을 실행하고 싶지만 취소 할 수 있기를 원합니다.

감사합니다.

+0

30 초가 기다리는 데 꽤 오랜 시간이 걸립니다. 실제로로드되는지 여부를 알기 위해 오래 걸릴까요? –

+0

@Birch, Flex 애플리케이션은 500+ KB입니다. 느린 인터넷 연결이있는 경우 실제로로드하는 경우 전환하고 싶지 않습니다 ... 얼마나 오래 권하고 싶습니까? –

답변

11
var timeoutId = -1; 

function functionToRun() 
{ 
    alert('hi there!'); 
} 

function delayRun() 
{ 
    timeoutId = setTimeout(functionToRun, 30 * 1000); 
} 

function cancelRun() 
{ 
    if (timeoutId == -1) 
     return; 

    clearTimeout(timeoutId); 

    timeoutId = -1; 
} 

functionToRun에서 "무언가를"당신의 코드를 삽입 한 후 delayRun()를 호출합니다. 전화 cancelRun() ... 음 ... 취소하십시오.

관련 문제