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 (デモ付き)

推薦する

Dockerコンテナ起動時に固定IPを設定する実装

Dockerインストール後のネットワークタイプ [root@insure updev]# docke...

MySQLはカスタム関数を使用して親IDまたは子IDを再帰的に照会します

背景: MySQL では、レベルに制限がある場合、たとえば、ツリーの最大深度を事前に決定できる場合、...

Linux インデックスノード inode の詳細な説明

1. inodeの紹介inode を理解するには、まずファイル ストレージから始める必要があります。...

Linux での grep コマンドの使い方の詳細な説明

1. 公式紹介grep は Linux でよく使用されるコマンドです。これは、ファイルやテキストに対...

CSSのline-heightとheightの詳細な説明

最近、CSS インターフェースに取り組んでいるときに、line-height と height とい...

CSS カウンターを使用して数字の順序付きリストを美しく表示する方法

Web デザインでは、Web サイトに表示されるデータの構造とコンテンツをユーザーが明確に理解できる...

mysql8.0 でユーザーを作成して権限を付与する際のエラーの解決方法の詳細な説明

質問1:エラーを報告する書き込み方法: GRANT OPTION を使用して、'123123...

モバイルデバイス上の 1px 境界線を解決する最善の方法 (推奨)

モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

React Router で履歴リダイレクトを使用する方法

react-routerでは、コンポーネント内のジャンプは<Link>で使用できます。し...

CentOS7 64でのMySQL5.6.40の詳細なインストール手順

CentOS7 64でのMySQL5.6.40のインストール手順1) 以前にインストールしたMySQ...

CSS floatプロパティの詳細な説明

1. フローティングとは何ですか?フローティングは、その名の通り、浮遊することを意味します。要素がド...

Mysql 5.7.19 無料インストール バージョンで遭遇した落とし穴 (コレクション)

1. 公式ウェブサイトから 64 ビットの zip ファイルをダウンロードします。 2. インスト...

Access_Tokenの統合管理を実現するミニプログラム開発

目次TOKEN タイマーリフレッシュ2. access_tokenの内部設計2.1 access_t...

MySQL レプリケーション テーブルの詳細とサンプル コード

MySQL レプリケーション テーブルの詳細な説明テーブル構造、インデックス、デフォルト値などを含む...