Lihatlah HTML sederhana ini:
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
Katakanlah saya ingin memindahkan wraps sehingga #wrap2
akan menjadi sebelum #wrap1
. Iframe tercemar oleh JavaScript. Saya tahu tentang jQuery .insertAfter()
dan .insertBefore()
. Namun, saat saya menggunakannya, iFrame kehilangan semua HTML, variabel, dan peristiwa JavaScript.
Katakanlah berikut ini adalah HTML iFrame:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
// The variable below would change on click
// This represents changes on variables after the code is loaded
// These changes should remain after the iFrame is moved
variableThatChanges = false;
$(function(){
$("body").click(function(){
variableThatChanges = true;
});
});
</script>
</head>
<body>
<div id='anything'>Illustrative Example</div>
</body>
</html>
Pada kode di atas, variabel variableThatChanges
akan ... berubah jika pengguna mengklik body. Variabel ini, dan peristiwa klik, harus tetap ada setelah iFrame dipindahkan (bersama dengan variabel / peristiwa lain yang telah dimulai)
Pertanyaan saya adalah sebagai berikut: dengan JavaScript (dengan atau tanpa jQuery), bagaimana saya bisa memindahkan simpul bungkus di DOM (dan anak iframe mereka) sehingga jendela iFrame tetap sama, dan acara / variabel / dll iFrame tetap sama?