Bazen bir komut dosyası ajax yüklemek, ancak komut dosyası yüklenene kadar hazır olan belgeyi geciktirmek gerekir .
jQuery bunu holdReady()
işlevle destekler .
Örnek kullanım:
$.holdReady(true); //set hold
function releaseHold() { $.holdReady(false); } //callback to release hold
$.getScript('script.js', releaseHold); //load script then release hold
Gerçek komut dosyası yüklemesi eşzamansızdır ( hata yok ), ancak JavaScript'inizin geri kalanı belge hazır olduktan sonra çalışırsa efekt eşzamanlıdır .
Bu gelişmiş özellik , DOM hazır olsa bile hazır olayın gerçekleşmesine izin vermeden önce jQuery eklentileri gibi ek JavaScript yüklemek isteyen dinamik komut dosyası yükleyicileri tarafından kullanılır.
Belgeler:
https://api.jquery.com/jquery.holdready
GÜNCELLEME 7 Ocak 2019
JQMIGRATE tarihinden itibaren :
jQuery.holdReady () kullanımdan kaldırıldı
Neden:jQuery.holdReady()
yöntem sayfanın küresel performansı üzerindeki olumsuz etkisi nedeniyle kaldırılmıştır. Bu yöntem, sayfadaki tüm kodların uzun süre başlatılmasını önleyebilir.
Çözüm: Sayfayı, tüm jQuery hazır işleyicilerinin geciktirilmesini gerektirmeyecek şekilde yeniden yazın. Bu, örneğin, yalnızca çalıştırılması güvenli olduğunda gecikmeyi gerektiren kodun geç yüklenmesi ile gerçekleştirilebilir. Bu yöntemin karmaşıklığı nedeniyle, jQuery Migrate işlevselliği doldurmaya çalışmaz. JQuery Migrate ile kullanılan temel jQuery sürümü artık jQuery.holdReady()
bu uyarı görüntülendikten kısa bir süre sonra kod başarısız olur.