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

推薦する

Vue で wangeditor リッチテキスト編集を使用する際の問題

wangEditor は、JavaScript と CSS に基づいて開発された Web リッチ テ...

Vue の計算プロパティとプロパティリスニングについての簡単な説明

目次1. 計算プロパティ構文: 1. 省略形:文法: 2. 文章を完成させる: 2. モニタリング(...

Centos6.5 に zabbix2.4 をインストールするチュートリアル図

centos-DVD1バージョンシステムの固定IPアドレスは192.168.159.128で、cen...

Vue のデータ応答性に関する詳細な理解

目次1. ES 構文のゲッターとセッター2. ES構文でのdefineProperty 3. Vue...

jQueryはテーブルのシームレスなスクロールを実現します

この記事の例では、テーブルのシームレスなスクロールを実現するためのjQueryの具体的なコードを参考...

Navicat を使用して csv ファイルを MySQL にインポートする

この記事では、参考までに、Navicatを使用してCSVファイルをMySQLにインポートするための具...

Linuxグループの基礎知識ポイントまとめ

1. Linuxグループの基本紹介Linux では、すべてのユーザーはグループに所属する必要があり、...

サーバー上で selenium+chromedriver を実行するための詳細なチュートリアル

1. はじめにSelenium を使用して Web サイトからデータをスクレイピングしたいのですが、...

Nginx+Tomcat 負荷分散クラスタの実装例

目次導入1. 事例の概要2. 環境の展開3. Nginxホストのインストール4. Tomcatのイン...

Windows に MySQL 5.7.18 の解凍バージョンをインストールするチュートリアル

1. インストールプロセスMySQL バージョン: 5.7.18 1. my.ini ファイル(簡易...

MySQL IFNULL判定問題の解決方法

問題: mybatis によって返される null 型のデータが消え、フロントエンドの表示にエラーが...

CSS で子 div の高さを親コンテナの残りのスペースに合わせる方法

1. フローティング方式を使用する効果画像: コードは次のとおりです: (.content の高さは...

Chrome 4.0 は GreaseMonkey スクリプトをサポートします

GreaseMokey (中国語では Grease Monkey Script と呼んでいます) は...

仮想マシンに Linux rhel7.3 オペレーティング システムをインストールする (具体的な手順)

仮想化ソフトウェアをインストールする仮想マシンにオペレーティング システムをインストールする前に、ホ...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...