Bu basit HTML'ye bir göz atın:
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
Diyelim ki, sarmalları. 'Dan #wrap2
önce olacak şekilde taşımak istedim #wrap1
. İç çerçeveler JavaScript ile kirlenmiştir. JQuery'nin .insertAfter()
ve .insertBefore()
. Ancak, bunları kullandığımda, iFrame tüm HTML ve JavaScript değişkenlerini ve olaylarını kaybediyor.
Aşağıdakinin iFrame'in HTML'si olduğunu varsayalım:
<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>
Yukarıdaki kodda, değişken variableThatChanges
... kullanıcı gövdeye tıklarsa değişirdi. Bu değişken ve tıklama olayı, iFrame taşındıktan sonra kalmalıdır (başlatılan diğer değişkenler / olaylarla birlikte)
Sorum şu: JavaScript ile (jQuery ile veya jQuery olmadan), iFrame'in penceresi aynı kalacak ve iFrame'in olayları / değişkenleri / vb. aynı?