Există oricum să descărcați o pagină care a fost încărcată într-un iframe? Nu vreau să schimb iframe src într-o pagină goală, dacă este posibil. Practic caut ceva care să facă ceva de genul $ ('# frameID'). Attr ("src", "); cu excepția faptului că codul nu pare să șteargă pagina încărcată anterior.

Există o funcție de „descărcare” pe care o pot apela, care va reseta iframe-ul astfel încât să nu aibă conținut încărcat în interior?

javascript

12 Răspunsuri 12

Celelalte soluții folosesc innerHTML, care nu va funcționa întotdeauna în XHTML. De asemenea, clarifică doar document.body (orice este încă prezent). Iată o soluție care utilizează DOM:

Această soluție folosește innerHTML:

Șterge doar HTML-ul interior al etichetei dvs. din interior și nu vă descarcă de fapt iframe-ul, astfel încât să puteți reutiliza iframe-ul fără a-l reîncărca și funcționând în toate browserele și destul de simplu!

daca tu genera dinamic conținutul iframe-ului tău, toate scripturile/variabila încărcate se vor scurge de la o scriere la alta. Astfel, soluția oferită de @Eli de ștergere a elementului dom nu va funcționa.

În scurt:

Pentru a curăța, înfășurați iframe-ul într-un element div și înlocuiți conținutul său dom.

În detalii: Demo de scurgere a scriptului

Exemplu de scurgere de script între două scrieri iframe (testate cu Chrome):

Dacă rulați acest cod, veți vedea ieșirea celui de-al doilea iframe este 555, deși a fost definit în primul iframe.

Dacă descomentați partea din mijloc, aceasta va funcționa așa cum vă așteptați.