Internet Explorer'da (IE) yalnızca 'un oluştuğu sorun. Birkaç farklı dosya türüne bağlanan bir sayfam var. Bu dosyalardan gelen bağlantılar yeni bir pencere açan ve belirli bir dosyayı yükleyen bir Javascript işlevi yürütür. Yeni pencerede açmam gereken dosya, URL adres alanında olsa bile, pencerenin boş olduğu bir PDF değilse, bu harika çalışır. F5 kullanarak bu pencereyi yenilemek yardımcı olmaz. Ancak, imleci adres alanına koyarsam ve <enter>
tuşlarına basarsam PDF yukardan yüklenir.IE, window.open ile oluşturulan bir pencerede PDF yüklemez.
Bu sorun, yalnızca IE'de oluşur. IE 7 ve 8'de gördüm ve Adobe Acrobat Reader 9'u kullanıyorum. Firefox (PC ve Mac) her şey mükemmel çalışıyor. Chrome (Mac) 'de, PDF indirilir. Safari (Mac) uygulamasında çalışır. Opera (Mac) uygulamasında açmam veya kaydetmem isteniyor. Temel olarak, her şey muhtemelen IE dışında, iyi çalışır.
Benzer sorunları araştırdım ve IE'deki Internet Seçenekleri'nin bazılarını uyarlamanın önerildiği bazı yayınlar gördüm. Bunu denedim ama yardım etmiyor ve sorun zaten aynı değildi.
Yeni pencereyi açmak için kullandığım Javascript işlevi.
function newwin(url,w,h) {
win = window.open(url,"temp","width="+w+",height="+h+",menubar=yes,toolbar=yes,location=yes,status=yes,scrollbars=auto,resizable=yes");
win.focus();
}
Ben pencerenin, ağırlık, boy, h ve genişlik gibi URL iletmek görüyoruz. Yıllarca böyle bir işlev kullandım ve bildiğim kadarıyla bir problemim olmadı. Kullanarak newwin()
işlevini çağırıyorum
<a href="javascript:newwin('/path/document.pdf',400,300)">document.pdf</a>
(Evet, satır içi JS kullanarak başka, daha iyi yolları vardır biliyorum ve denemek şeyler tükendi çünkü ben bile bazıları denedim, ama hiçbir şey çalışır.)
Peki, bu sorunun neden olabileceği konusunda bir fikri varsa, bunu duymak isterim.
Çözümünüzü uyguladıktan sonra benzer bir sorunla karşılaştım, pdf şimdi mükemmel bir şekilde sonuç veriyor. Bunun nasıl çalıştığını açıklar mısınız? Bölge mi, yoksa güvenlik mi? Neden sadece window.open kullandığımda çalışmıyor? – SoftwareGeek
IE'nin uygulamasında (her zamanki gibi) sadece bir hata olduğundan eminim. Bir güvenlik sorunu olsaydı o zaman işe yaramazdı. –