iframe の src が指すコンテンツが更新されない問題の解決方法の詳細な説明

iframe の src が指すコンテンツが更新されない問題の解決方法の詳細な説明

問題の説明

html

<iframe id="h5Content" src=""></iframe>

js

$("#h5Content").attr("src","${h5.url}");

h5.url は、ueditor によって編集され、データベースに保存されたページに対応します。

このページのコンテンツを変更して送信しても、iframe に表示されるページは変更されません。

理由

iframe 内のコンテンツは、iframe の src の値が変更された場合にのみ更新されます。

したがって、私のコードの URL に対応するページは変更されましたが、URL は変更されていません。つまり、iframe の src の値は変更されていません。したがって、コンテンツは更新されません。

解決

原因がわかったので、解決方法は非常に簡単です。iframe の src の値を変更する方法を考えればよいだけです。
当時の私の解決策は次のとおりでした。

$("#h5Content").attr("src","${h5.url}"+"?time="+新しい日付().getTime());

疑問符の後の現在の時刻を URL に渡すと、問題は解決します。この値は、src の値を変更する以外には使用されません。

PS: iframe キャッシュが更新されない問題の完全な解決策

ここ 2 日間、非常に奇妙な問題に遭遇しました。あるページが iframe ページをネストしていました。このページを送信して再度このページにジャンプすると、iframe 内のページはデータを更新するはずでしたが、IE では更新されませんでした (FF では問題ありません)。F5 キーを押すか、新しいブラウザ タブを開いて手動で更新する必要があります。そうしないと、このページのブラウザで Enter キーを押しても無駄です。多くの情報を調べた後、最終的に問題の原因は iframe キャッシュ メカニズムであることがわかりました。次の方法で解決できます。

<script type="text/javascript">
var ランダム数 = Math.floor(Math.random()*100000)

ドキュメント.write('
<iframe src="http://www.freedonation.com/hunger/hunger_thankyou.php3?random='+randomnumber+'" name="aframe" width="100%" height="400"></iframe>')

</スクリプト>

リクエスト値として乱数を持つパラメータを追加することで、ブラウザはリクエストされた各ページが新しいものであると見なし、そのたびに iframe ページがリロードされるようにします。

iframe の src で指し示されるコンテンツが更新されない問題の解決方法についてはこれで終わりです。iframe の src で指し示されるコンテンツが更新されない問題の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  この記事はJavaScriptの変数とデータ型を理解するのに役立ちます

>>:  クールなネオンライト効果を実現する純粋な CSS (デモ付き)

推薦する

MySQL 5.7.18のインストール方法とMySQLサービスの起動手順の詳細な説明

MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...

HTMLフローティングプロンプトボックス機能の実装コード

一般的なフォーム プロンプトは常にフォームのスペースを占有し、フォームが長くなったり広くなったりして...

MySQL の左結合操作における on 条件と where 条件の違いの紹介

優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...

MySQL の 6 つの一般的な制約タイプの詳細な説明

目次序文1.nullでない2. ユニーク3. デフォルト4.主キー自動増分主キー5. 外部キー6.チ...

JavaScript 関数呼び出しの典型的なサンプルコード

目次JavaScript 関数呼び出しの典型的な例JS関数の定義と呼び出し方法要約するJavaScr...

mysql-8.0.17-winx64 のデプロイメント方法

1. 公式サイトからmysql-8.0.17-winx64をダウンロードし、Zipファイル形式を選択...

ログインボックスのメールプロンプトを実装するネイティブJS

この記事では、登録またはログイン時に電子メール アドレスを入力する際のドロップダウン プロンプトのネ...

アリババの中秋節ロゴとウェブサイトのデザインプロセス

<br />まずアイデアを考え、次にスケッチを描き、次にマウスでスケッチし、最後にフラッ...

MySQL での select、distinct、limit の使用

目次1. はじめに2. 選択2.1 単一列のクエリ2.2 複数の列のクエリ2.3 すべての列をクエリ...

MySQLがクエリキャッシュをキャンセルした理由

MySQL には以前、クエリ キャッシュ (Query Cache) がありました。8.0 以降では...

ウェブページのFOUC問題によるウェブページの混乱の解決策

FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...

JavaScriptカスタムオブジェクトメソッドの概要

目次1. オブジェクトを使用してオブジェクトを作成する2. コンストラクタを使用してオブジェクトを作...

VUEは登録とログインの効果を実現します

この記事の例では、登録とログインの効果を実現するためのVUEの具体的なコードを紹介します。具体的な内...

CSV、Excel、SQL ファイルを MySQL にインポートするためのヒント

1. csvファイルをインポートする次のコマンドを使用します。 1.mysql> infile...

::before/:before と ::after/:after の使用に関する深い理解

パート1: 基礎1. :active や :hover などの疑似クラスとは異なり、これらはすべて疑...