IFRAME'in etkinleştirme olayı, HTML tamamen indirildiğinde veya yalnızca tüm bağımlı öğeler de yüklendiğinde yanıyor mu? (css/js/img)Bir IFRAME etkinleştirme olayı tam olarak ne zaman tetiklenir?
cevap
Sonuncu: <body onload=
yalnızca tüm bağımlı öğeler (css/js/img) yüklendiğinde tetiklenir. HTML yüklendiğinde JavaScript kodu çalıştırmak istiyorsanız
HTML'nizin sonunda bunu: Burada
<script>alert('HTML loaded.')</script></body></html>
yük ve hazır arasındaki fark hakkında bir relevant e-mail thread (olduğu jQuery her ikisini de destekler).
Aynı şey, sadece iframe'ler için değil, ana belgenin kendisi için de geçerli olduğunu varsayıyorum. – MatrixFrog
Yalnızca html yüklendiğinde, bağımlı öğeler değil. (ya da öyle düşünüyorum). sayfanın geri kalanı yüklenmeden yaptığınızda
ateş etmek jQuery (pencere) .Load (function() {ya onready belgelememiştir window.onload.
Ayrıca bir resim öğesi yüklü olup olmadığını görmek için kontrol edebilirsinizve görüntü. load-- vb (onload olayı kullanarak)
yukarıdaki cevabın doğru olup olmadığını dinamik web içeriği için bir baskı şablonu oluştururken ... Ancak bazı durumlarda bu Özellikle. yaramazlık var gibi görünüyor.
Dinamik bir iframe oluşturarak ve yazdırarak bir sayfanın belirli içeriğini yazdırmaya çalışıyorum. n görüntüler yüklenir. Her zaman çok erken görüntüleri hala tamamlanmamış baskı sonuçlanan yüklerken basar:
function printElement(jqElement){
if (!$("#printframe").length){
$("body").append('<iframe id="printframe" name="printframe" style="height: 0px; width: 0px; position: absolute" />');
}
var printframe = $("#printframe")[0].contentWindow;
printframe.document.open();
printframe.document.write('<html><head></head><body onload="window.focus(); window.print()">');
printframe.document.write(jqElement[0].innerHTML);
printframe.document.write('</body></html>');
// printframe.document.body.onload = function(){
// printframe.focus();
// printframe.print();
// };
printframe.document.close();
// printframe.focus();
// printframe.print();
// printframe.document.body.onload = function()...
}
Eğer çok erken ateş edeceği her durumda ... ben onload işleyici bağlamak için çeşitli yöntemler denedik görebilirsiniz. Tarayıcı baskı önizlemesi (google chrome) bozuk görüntüler içerdiğinden biliyorum. Yazdırmayı iptal ettiğimde ve bu işlevi tekrar çağırdığımda (görüntüler şimdi önbelleğe alınır), baskı önizlemesi düzgündür.
... Neyse ki bir çözüm buldum. güzel değil ama uygun. Ne yapar? 'Img' etiketleri için alt ağacı tarar ve bunların 'tam' durumunu kontrol eder. Tamamlanmamışsa, 250 ms sonra tekrar kontrol eder.
function delayUntilImgComplete(element, func){
var images = element.find('img');
var complete = true;
$.each(images, function(index, image){
if (!image.complete) complete = false;
});
if (complete) func();
else setTimeout(function(){
delayUntilImgComplete(element, func);}
, 250);
}
function printElement(jqElement){
delayUntilImgComplete(jqElement, function(){
if (!$("#printframe").length){
$("body").append('<iframe id="printframe" name="printframe" style="height: 0px; width: 0px; position: absolute" />');
}
var printframe = $("#printframe")[0].contentWindow;
printframe.document.open();
printframe.document.write(jqElement[0].innerHTML);
printframe.document.close();
printframe.focus();
printframe.print();
});
}
bu çok yardımcı olur thx – kofifus
- 1. Tam olarak ne zaman runtime.Gosched yapar?
- 2. Jquery Iframe etkinleştirme olayı, Google Chrome üzerinde çalışmıyor
- 3. "DOMNodeInserted" olayı ne zaman çağrıldı?
- 4. Omurga modelini kaydettiğinizde tam olarak ne olur?
- 5. Tam olarak ne gerekli ve ne zaman gerekli?
- 6. Tam olarak tam olarak ne yapar? (...).
- 7. Bir yöntemin tam olarak ne zaman yan etkileri var?
- 8. Zaman aşımı tamamlandıktan sonra bir işlevi nasıl çağırırsınız? Zaman aşımı bir tıklama olayı tarafından tetiklenir (Typescript)
- 9. Bir iframe içinden ebeveyninin bir öğesine bir tıklama olayı nasıl tetiklenir?
- 10. Tam olarak ne kullanıyorum?
- 11. MySQL Tetikleyici sorusu: Sadece bir sütun değiştirildiğinde ne zaman tetiklenir?
- 12. Meteor.js için şablon etkinleştirme olayı
- 13. Tam Ekran Iframe
- 14. IE8'de özel bir javascript olayı nasıl tetiklenir?
- 15. Panel.IsItemsHost tam olarak ne yapar?
- 16. Tam olarak document.normalize ne yapar?
- 17. Numpy.exp() tam olarak ne yapar?
- 18. AlarmManager.ELAPSED_REALTIME_WAKEUP tam olarak ne yapar
- 19. jQuery onload - .load() - olayı dinamik olarak yüklenmiş iframe ile çalışmayan
- 20. Yükleme olayı, Etkinliği etkinleştirme ve Etkinleştirme olayları arasındaki fark Form
- 21. JQGrid Sıralama --SortCol olayı nasıl tetiklenir
- 22. Onclick olayı bir kez ne zaman devre dışı bırakılır?
- 23. Attach(), Entity Framework'de tam olarak ne yapar?
- 24. "++" anahtar sözcüğünü tam olarak ne yaparsınız?
- 25. Unary "~" operatörü - Burada tam olarak ne oluyor?
- 26. Metin seçilmediğinde ya da vurgulandığında etkinleştirme olayı
- 27. iframe ne html
- 28. Bir event.target.value ne zaman bir string değil?
- 29. Google Maps V3'te bir işaretçinin onclick olayı nasıl tetiklenir?
- 30. Tam olarak nedir: = operatör Elm'de ne yapıyor?
Internet Explorer kullanmıyorsanız, işte o zaman tetiklenir. – Tortoise
Bir iDevice kullanmıyorsanız, tüm öğeler yüklendiğinde patlar. – NoBugs
@tortoise: Beni güldürdüğünüz için teşekkür ederim. – ling