Погляньте на цей простий HTML:
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
Скажімо, я хотів перенести обгортання так, щоб це #wrap2
було до #wrap1
. Вбудовані рамки забруднені JavaScript. Мені відомі jQuery .insertAfter()
та .insertBefore()
. Однак, коли я їх використовую, iFrame втрачає всі свої змінні та події HTML та JavaScript.
Скажімо, наступним був 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>
У наведеному вище коді змінна variableThatChanges
... зміниться, якщо користувач натисне на тіло. Ця змінна та подія натискання повинні залишатися після переміщення iFrame (разом із будь-якими іншими змінними / подіями, які були запущені)
Моє запитання полягає в наступному: як з JavaScript (з jQuery або без нього), як я можу перемістити вузли обтікання в DOM (та їх дочірні елементи iframe), щоб вікно iFrame залишалося незмінним, а події / змінні iFrame / тощо залишалися те саме?