この単純なHTMLを見てください。
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
#wrap2
がの前になるようにラップを移動したいとし#wrap1
ます。iframeはJavaScriptによって汚染されています。私はjQuery .insertAfter()
とを知ってい.insertBefore()
ます。ただし、これらを使用すると、iFrameはHTML、JavaScript変数、およびイベントをすべて失います。
以下がiFrameのHTMLだとします。
<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のイベント/変数/ etcが同じ?