[解決済み] Javascriptを使ったヘッドを含むページ全体の置き換え
2023-07-08 16:12:51
質問
文字列を渡されるJavascript関数があります。 渡された文字列は、ヘッダーを含むWebページ全体です。 私は、Javascriptが現在のページ全体、ヘッド、およびすべてを新しいコンテンツに置き換える必要があります。
次のようなHTMLファイルを考えてみましょう。
<html>
<head>
<script language="Javascript">
<!--
var newContent='<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>';
function ReplaceContent(NC) {
document.body.innerHTML=NC;
}
function Hi() {
alert("Hello World");
ReplaceContent(newContent);
}
-->
</script>
</head>
<body onload="Hi();">
Original Content
</body>
</html>
この場合、渡された文字列は
<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>
しかし、もちろん、"ReplaceContent" 関数はボディだけを置き換えてヘッダーは置き換えていないので、"Goodbye World" の警告は決して表示されません。
なぜこれを行いたいのかを無視します。
ヘッダやjavascriptの関数など、ページ全体を動的に置き換えるにはどうしたらよいでしょうか?
html(上記の'newContent')は文字列としてのみ存在し、サーバー上のどこにも存在しないので、私はそれにリダイレクトすることができないことをご留意ください。
コンテンツを置き換えたら "Goodbye World" のアラートが表示されるようにするには、上記の "ReplaceContent" にどのような変更を加えればよいでしょうか。 私はnewContent変数の値を事前に知ることができないことに留意してください!
どのように解決するのですか?
document.writeを使用します。
<html>
<head>
<script language="Javascript">
<!--
var newContent='<html><head><script language="Javascript">function Hi() {alert("Goodbye World");}</script></head><body onload="Hi();">New Content</body></html>';
function ReplaceContent(NC) {
document.open();
document.write(NC);
document.close();
}
function Hi() {
ReplaceContent(newContent);
}
-->
</script>
</head>
<body>
Original Content
<a href="javascript:Hi()">Replace</a>
</body>
</html>
関連
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] JavaScriptでドロップダウンリストの選択値を取得する
-
[解決済み] JavaScriptでページの一番上までスクロールする?
-
[解決済み] HTML5/Canvas/JavaScriptを使用してブラウザ内のスクリーンショットを撮影する
-
[解決済み] ページロード後にJavaScriptを実行させるには?
-
[解決済み】OnBeforeUnloadダイアログをオーバーライドして、独自のダイアログに置き換えるにはどうしたらいいですか?
-
[解決済み】スクリプトの読み込みと実行順序について
-
[解決済み] ブラウザがファイルのダウンロードを受信したことを検出する
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] ECMAScriptとは?
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法