Я бачив багато форумів, які пропонують тег Object як заміну IFrame, який, ймовірно, працює в більшості випадків.
Наприклад, у мене був PDF-файл, що відображається в IFrame (оскільки на цій сторінці, окрім лише PDF-файлу, нам потрібно було показати інші речі), я зміг змусити його нормально відображатися за допомогою Object.
Що було:
<iframe id="confirmed_pdf" class="current_pdf" src="/prescriptions/show_pdf?id=123" height="570" width="480"></iframe>
Став:
<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>
Але "Об'єкт" не був відповідною заміною для заповнення вимоги мати можливість друкувати ТІЛЬКИ частину сторінки у форматі PDF.
IFrame схожий на власне вікно на сторінці (в основному вікно всередині вікна), і як тільки ви отримаєте об'єкт вікна, ви можете зателефонувати до нього .print (), наприклад:
jQuery("#confirmed_pdf").contentWindow.print();
IFrame має властивість contentWindow, саме це робить можливим друк лише тієї частини. Об'єкт не має властивості contentWindow, тому немає можливості надрукувати лише розділ сторінки.
Отже, здається, що якщо ви просто використовуєте IFrame для відображення чогось, є інші теги, такі як Object, які можна використовувати замість цього. Але якщо вам потрібно взаємодіяти із вмістом IFrame певними способами, тоді IFrame може знадобитися.