HTML gömülü PDF iframe

Bir pdf dosyasını gömmek için <iframe> etiketini kullandım.

<iframe id="iframepdf" src="files/example.pdf"></iframe>

Bu Chrome, IE8+, Firefox vb. uygulamalarda sorunsuz çalışıyor, ancak bazı nedenlerden dolayı bazı kişiler IE8'de görüntülediğinde dosyalar gömülmek yerine indiriliyor. Bu tarayıcının eski olduğunu biliyorum ancak ofisimdeki standart tarayıcı bu ve bu nedenle web sitesinin buna göre tasarlanması gerekiyor.

Bunun neden olduğuna, nasıl düzeltebileceğime veya dosyaların indirilmesine izin vermek yerine bir hata mesajı koyabileceğime dair bir fikri olan var mı?

Muhtemelen Adobe Reader eklentisi yüklü olmadığı için indirilmiştir. Bu durumda IE (hangi sürüm olduğu önemli değil) bunu nasıl işleyeceğini bilemez ve sadece dosyayı indirir (örneğin Chrome'un kendi gömülü PDF işleyicisi vardır).

Öyle dedi. iframe>` PDF görüntülemek için en iyi yol değildir (Safari gibi mobil tarayıcılarla uyumluluğu unutmayın). Bazı tarayıcılar bu dosyayı her zaman harici bir uygulama içinde (veya başka bir tarayıcı penceresinde) açacaktır. Bulduğum en iyi ve en uyumlu yol biraz zor ama denediğim tüm tarayıcılarda çalışıyor (oldukça eski olsa bile):

Çerçevenizi ` olarak tutun, ancak içinde bir PDF görüntülemeyin, `` etiketinden oluşan bir HTML sayfası ile doldurulacaktır. PDF'niz için bir HTML sarmalama sayfası oluşturun, bu sayfa şuna benzemelidir:







Elbette yine de tarayıcıda uygun eklentinin yüklü olması gerekir. Safari'yi mobil cihazlarda desteklemeniz gerekiyorsa bu yazıya da bir göz atın.

Birincisi. Neden içine yerleştiriliyor? Cevabı burada SO'da bulacaksınız. İç içe etiketi yerine kullanıcılarınız için özel bir mesaj (veya yerleşik bir görüntüleyici, sonraki paragrafa bakın) sağlayabilirsiniz (sağlamalısınız!). Günümüzde endişelenmeden kullanılabilir ve `` işe yaramaz.

İkincisi. Neden bir HTML sayfası? Böylece PDF görüntüleyici desteklenmiyorsa bir geri dönüş sağlayabilirsiniz. Dahili görüntüleyici, düz HTML hata mesajları/seçenekleri vb.

PDF desteğini kontrol etmek zordur, böylece müşterileriniz için alternatif bir görüntüleyici sağlayabilirsiniz, PDF.JS projesine bir göz atın, oldukça iyidir, ancak görüntü kalitesi - masaüstü tarayıcılar için - native PDF renderer kadar iyi değildir (ekran boyutu nedeniyle mobil tarayıcılarda herhangi bir fark görmedim, sanırım).

Yorumlar (11)

Tarayıcıda bir pdf eklentisi yüklüyse nesneyi çalıştırır, değilse düz HTML olarak görüntülemek için Google'ın PDF Görüntüleyicisini kullanır:



Yorumlar (6)

Iframe

Obje



Yorumlar (2)