Chcę wykryć kiedy pdf załadował, ale zdarzenie jQuery .load()
nie odpala, gdy przeglądarka żąda plików PDF za pomocą cząstkowych wniosków zakres treści w Chrome 40.Jak wykryć, kiedy plik PDF jest ładowany w elemencie iframe, gdy przeglądarka żąda częściowego żądania zakresu treści?
chcę wywołać funkcję drukowania przeglądarki() po pdf został załadowany. Jeśli plik PDF jest wystarczająco mały, przeglądarka nie żąda zakresów, ale w przypadku większych plików pdf, jak mogę wykryć ładowanie pdf?
function download(src){
var iframe;
function check() {
console.log('checking..');
if(iframe.contentWindow && iframe.contentWindow.document && iframe.contentWindow.document.body && iframe.contentWindow.document.body.children && iframe.contentWindow.document.body.children.length > 0){
console.log('embed element exists... how do I tell when it\'s loaded?');
} else {
timeout = setTimeout(check, 150);
}
}
var timeout = setTimeout(check, 150);
iframe = $('<iframe type="application/pdf" src="'+src+'"></iframe>').appendTo(document.body).load(function() {
console.log('iframe is loaded. This never happens when there are range requests');
}).get(0);
}
$(document).ready(function(){
download('test.pdf');
});
Przykładem może być postrzegane w http://stringham.me/pdf.html
Zachowanie html onload jest podobne do obsługi zdarzeń '.load() jQuery. Obie uruchamiają się, jeśli przeglądarka nie wykonuje wielu zakresów żądań, aby pobrać plik pdf. – Ryan