2011-12-02 12 views
5

Şimdi, bir sayfanın kapanmasını geciktirmenin kötü bir uygulama olduğunu ve bu tür şeylerle başa çıkmanın daha iyi yollarının olduğunu anlıyorum, ama sadece gelecekteki başvurular için, sayfanın kapanmasını geciktirmenin bir yolu var mı?Gecikme sayfası Javascript ile kapatılsın mı?

Teşekkürler!

+0

Denediniz mi? –

+2

@GlennSlaven, neyi denedi? Yukarıdaki fonksiyon çalışmıyor (tabii ki: P), ve belki de tarayıcı tarafından onaylanmış bir yolun olup olmadığını soruyordum, sadece bir saniyeliğine geciktirecek bir işlev gibi, daha az değil ya da bir şey. – MatthewSot

cevap

8

Eğer gerçekten gerekiyorsa (yani yarı kesmek başvurmak için hazır.) Vb bir onay iletişim kutusu göstermeden sayfa kapanmasını geciktirmek için, aşağıdaki gibi bir şey yapabilirsiniz:

function delay(ms) { 
    var start = +new Date; 
    while ((+new Date - start) < ms); 
} 

// start image loading (I assume you need this for tracking?) 
delay(150); 

uyarılar vardır bariz: her zaman işe yaramaz ve çok uzun süre gecikemezsiniz. Bununla birlikte, gerçekten ilgileniyorsanız, muhtemelen% 95'in üzerinde sonuç alabilirsiniz (gerçekten sunucu yanıt süresine bağlıdır).

+2

Ama bu aynı zamanda sayfayı kilitler ve CPU'nuzu artırır. Bu geciktirebilir, ancak o dönemde hiçbir şey yapamazsınız. Bu hack yapmak muhtemelen çok kullanışlı değil. –

+1

@Squeegy Göründüğü kadar kötü değil :) Eğer 150-250 civarında zaman aşımı tutarsanız aslında "kilit" fark etmez. Ve bu arada, şu an icat ettiğim bir şey değil, ziyaretçi takipçileri tarafından üretimde kullanılıyor. – deviousdodo

İlgili konular