Mevcut projemizde, kullanıcı tarafından göndereceği bir HTML formuyla özelleştirilebilen bir PDF indirmesi sunuyoruz. PDF'yi dinamik olarak oluşturmak birkaç saniye alır ve bunu görselleştirmek isterim, ör. İndirme işlemi başlayana kadar gönder düğmesini devre dışı bırakarak. Maalesef, indirme işleminin ne zaman başladığını tespit etmenin bir yolunu bulamadım *. Bu yüzden, gönder düğmesinin ne zaman yeniden etkinleştirileceğini bilemezdim.JavaScript'te bir indirme işleminin başlangıcını tespit etmenin bir yolu var mı?
onload
etkinliğinin tetikleneceğini umarak zaten HTML formumun hedefi olarak bir IFrame belirtmeyi denedim. Ancak, muhtemelen - PDF'nin bir "Content-disposition: attachment
" üstbilgisiyle gönderilmesi ve aslında IFrame'e yüklenmemesidir.
Şu anda düşünebildiğim tek çözüm, PDF'yi sunucuda geçici bir dosyaya oluşturmaktan kaçınmak istiyorum.
*) Bunu açıklığa kavuşturmama izin verin: İndirmenin bitip bitmediğini veya gerçekten başlatılmış olsa bile bilmem gerekmiyor. Tarayıcının kullanıcıya dosyayı açıp kaydetmeyeceğini soracağı noktayı tespit etmek isterim. Tarayıcı, HTTP üstbilgisini aldığında bu olur sanırım.
İndirmenin ne zaman başladığını veya ne zaman tamamlandığını bilmek ister misiniz? Her iki durumda da, geçici bir dosyanın fark yaratacağını düşünmüyorum. İstemci tarafında, dosyanın sunucuda mı yoksa anında mi oluşturulduğunu söyleyemezsiniz. – Prestaul
Yani formu gönderiyorsunuz ve bu gönderime verilen yanıt bir PDF dosyası mı? Duraklama sırasında, tarayıcı sunucudan yanıt beklediği modda mı? bu doğru mu? – Breton
@Breton: doğru! @Pretaul: İndirme işleminin ne zaman başladığını bilmek istiyorum. Bu yüzden, bir geçici dosya oluşturabilir, gizli IFrame'e bir miktar HTML yanıtı verebilir ve ardından temp dosyasını onload işleyicisindeki JavaScript ile getirebilirim. –