[解決済み] DOM内のiFrameの状態を崩さずに移動させるには?
2022-10-22 03:01:29
質問
この簡単な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の有無にかかわらず)、iFrameのウィンドウが変わらず、iFrameのイベント/変数/その他が変わらないように、DOM内のラップノード(およびそのiframeの子)を移動するにはどうしたらよいでしょうか。
どのように解決するのですか?
再読み込みせずに、iframe をドメイン内のある場所から別の場所に移動させることはできません。
ネイティブのJavaScriptを使用してもiFrameが再読み込みされることを示す例を以下に示します。 http://jsfiddle.net/pZ23B/
var wrap1 = document.getElementById('wrap1');
var wrap2 = document.getElementById('wrap2');
setTimeout(function(){
document.getElementsByTagName('body')[0].appendChild(wrap1);
},10000);
関連
-
[解決済み】ある要素を別の要素に移動させるには?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] セレクタの子を取得する方法は?
-
[解決済み] どのDOM要素にフォーカスがあるかを調べるには?
-
[解決済み] DOM要素が現在のビューポートで表示されているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] ECMAScriptとは?
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?