WEBページのiframeの中に表示させるHTMLにjQueryのloadメソッドを採用して動的に更新をさせています。
<例>
$("#test").load("ttest/testtest.txt .moji");
こんなような単純なソースです。
これのWEBページを開いた時五分五分の確率で成功したり失敗したりします。
なお、失敗した場合でもIEをリロードすると正常に動くのですが・・・
なぜこのような失敗が起きるのでしょうか?
原因が全くわかりません・・・
詳しい方教えていただけませんでしょうか?
<環境>
Win7
IE8
jQuery1.4.1
No.2ベストアンサー
- 回答日時:
あ、そうなんだ。
。iFrameに読み込まれるhtml内部で、さらにhtmlの"#test"に$.loadで外部テキストを読もうとしている、って訳? 早とちり申し訳ない。
なら、そいつはおそらく、$.loadする瞬間に"#test"要素が生成されていないから?
ドキュメントがキャッシュされた後は一発でロードできるというから、おそらく間違いない。
jQuery AjaxのDOM展開完了イベントハンドラ記述、
$(function(){
$("#test").load("ttest/testtest.txt .moji");
});
でも読込みに失敗するのなら、iFrame中のDOM生成イベントを、ブラウザが上手く検知できないことになります。
ならば、setIntervalなどで遅延させる必要があります(それしか対策ないかも)。
そうだとすれば、ブラウザの挙動なんかもからんで、少々やっかいな事象になりますね。
(ブラウザやバージョンごとに遅延タイミングが違うとか)
No.3
- 回答日時:
想像されるのは#2様の回答かと思いますが、原因をもう少し調べてみてはいかがでしょうか。
例えば、うまく行かない時は、
$("#test")の取得ができないのか、ajaxがsucsessなのかerrorなのかなど…
特に、ajaxによるものであれば別の対処があるかも知れません。
(statusをみればわかるはずです)
No.1
- 回答日時:
iFrameオブジェクトに対して$.loadを実行する ???
そういう例は初めて聞きました。
iFrameなら、.srcプロパティに外部htmlパスをセットする→読込まれて表示
(Ajaxは不要)
$.loadなら、ターゲットとして<div>などのブロック要素を指定する→読込まれて表示
だと思うのですが。。。
この回答への補足
ちょっと違います。
※WEBページ
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無題 1</title>
</head>
<body>
<iframe src="default.htm"></iframe>
</body>
</html>
この中にあるdefault.htmに$("#test").load("ttest/testtest.txt .moji");といったソースがあります。
もちろんdivの要素指定で表示していますよ。というか出来ています。
成功確率が五分五分な所が気に食いません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング メールフォームで送信すると「通信に失敗しました。ページの再読み込みを...」で送信できません。 2 2023/05/26 18:11
- その他(お金・保険・資産運用) 暗号資産について NFT取引所のOpenseaでゲームのアセットを購入しようとしたところウォレットの 2 2023/01/27 02:28
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- JavaScript jQueryローディングアニメーションのコードの以下のURL内参考サイトで提示されている 3 2023/07/03 18:29
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
- 政治 責任 8 2023/05/06 18:00
- 数学 数学 確率 ゲームのガチャ 2 2023/04/27 19:23
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryで追加した要素がマウス...
-
jQueryでloadした部分に.jsが効...
-
インラインフレームを自動更新...
-
XHTMLで外部JSファイルを読み込...
-
jQuery toggle() 戻るで開いた...
-
フレーム内の要素へのXPATHはど...
-
親フレームの存在確認
-
Javascriptを使ってQRコード読...
-
同一ページ移動時ハンバーガー...
-
二つのbxsliderをレスポンシブ...
-
Selenium Basicの件
-
階層別の組織図の自動作成について
-
要素内を常に一番下を表示させたい
-
【再質問】計算(入数*単価)...
-
JavascriptからPHPへのAjax通信...
-
jQueryを使いformでsubmitした...
-
jQueryのblockUIをformのボタン...
-
変数の内容を別functionに渡したい
-
JavaScriptでtabindexの変更っ...
-
Googleマップに複数のピンを立...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インラインフレームを自動更新...
-
jQuery toggle() 戻るで開いた...
-
jQueryで追加した要素がマウス...
-
AjaxでSJISファイル読み込みす...
-
$.postとPerlのデータ受け渡し...
-
jQueryでloadした部分に.jsが効...
-
Folder.selectDialog()について
-
リンク元のURLのパラメータでペ...
-
div要素の入れ替え。半透明イメ...
-
一定時間ごとに表示内容を切り...
-
毎日午前0時にhtmlを切り替えた...
-
Safariでの onload="getData()"...
-
jQuery loadで要素差し替え
-
phpからget送信で持ってきたデ...
-
Fire Foxで作動しないscriptが...
-
location.replaceでの移動
-
XMLHttpRequest()で、読み込む...
-
日付が変わると自動更新
-
jQueryのloadメソッドが時々反...
-
slideToggleを複数のボタンで適...
おすすめ情報