Розвантаження/видалення вмісту з iFrame

Чи є спосіб вивантажити сторінку, завантажену всередині iframe? Я не хочу змінювати iframe src на порожню сторінку, якщо це можливо. Я в основному шукаю щось, що зробить щось на зразок цього $ ('# frameID'). Attr ("src", "); за винятком того, що, здається, код не очищає раніше завантажену сторінку.

Чи є функція "вивантаження", яку я можу зателефонувати, яка скине iframe так, щоб у ньому не було завантаженого вмісту?

javascript

12 відповідей 12

В інших рішеннях використовується innerHTML, який не завжди працює в XHTML. Вони також лише очищають document.body (що-небудь у файлі все ще присутнє). Ось рішення, яке використовує DOM:

Це рішення використовує innerHTML:

Він лише очищає внутрішній HTML вашого тегу всередині, а не фактично вивантажує ваш iframe, щоб ви могли повторно використовувати ваш iframe, не перезавантажуючи його та його роботу у всіх браузерах і досить просто!

Якщо ти динамічно генерувати вміст вашого iframe, всі завантажені скрипти/змінні будуть просочуватися з одного запису на інший. Таким чином, рішення, надане @Eli, для очищення елемента dom не буде працювати.

Коротко:

Для очищення оберніть ваш iframe в елемент div і замініть його вміст dom.

Детальніше: Демо про витік сценарію

Приклад витоку сценарію між двома записами iframe (перевірено за допомогою Chrome):

Якщо ви запустите цей код, ви побачите результат другого iframe 555, хоча він був визначений у першому iframe.

Якщо ви прокоментуєте середню частину, вона буде працювати, як очікувалося.