Muhtemelen çoğu durumda işe yarayan IFrame'in yerine Nesne etiketini öneren birçok forum gördüm.
Örneğin, bir IFrame'de gösterilen bir PDF'im vardı (çünkü sayfada yalnızca PDF'nin yanı sıra göstermemiz gereken başka şeyler de vardı) ve bunu Object kullanarak iyi bir şekilde görüntüleyebildim.
Neydi:
<iframe id="confirmed_pdf" class="current_pdf" src="/prescriptions/show_pdf?id=123" height="570" width="480"></iframe>
Oldu:
<object id="confirmed_pdf" class="current_pdf" data="/prescriptions/show_pdf?id=123" type="application/pdf" height="570" width="480">
<p>[Show this message if displaying the PDF did not work]</p>
</object>
Ancak Object, sayfanın YALNIZCA PDF bölümünü yazdırabilme gereksinimini karşılayacak uygun bir yedek değildi.
Bir IFrame, sayfadaki kendi penceresi gibidir (temelde bir pencere içindeki pencere) ve pencere nesnesini aldığınızda, üzerinde .print () öğesini çağırabilirsiniz, örneğin:
jQuery("#confirmed_pdf").contentWindow.print();
IFrame'in bir contentWindow özelliği vardır, bu, yalnızca bu bölümü yazdırmayı mümkün kılan şeydir. Nesne contentWindow özelliğine sahip değildir, bu nedenle yalnızca sayfanın bölümünü yazdırmanın bir yolu yoktur.
Öyleyse, bir şeyi görüntülemek için sadece IFrame kullanıyorsanız, bunun yerine kullanılabilecek Object gibi başka etiketler var gibi görünüyor. Ancak, IFrame'in içeriğiyle belirli şekillerde etkileşime girmeniz gerekirse, IFrame gerekli olabilir.