htmlファイルのインクルード
あるページを複数の別のhtmlファイルを読み込んで構成しようと思っています。
以下がソースなのですがFirefoxでは
samplesample
テストテスト
と表示されるのですが、Internet Explorerでは
テストテスト
のみが表示されsample.htmlが読み込まれません。
何がいけないのでしょうか。
よろしくお願いします。
[index.html]
<html>
<head>
<title>テストページ</title>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function my_include(id, file) {
document.open();
document.write('<div id="' + id + '"></div>');
document.close();
var options = {};
options.method = "get";
options.asynchronous = true;
new Ajax.Updater(id, file, options);
}
</script>
</head>
<body>
<div id="headers"></div>
<script type="text/javascript">my_include("headers","sample.html");</script>
テストテスト
</body>
</html>
[sample.html]
<head>
<title>sampleページ</title>
</head>
<body>
samplesample
</body>
</html>
[バージョン情報]
Firefox 3.6.3
Internet Explorer 8
prototype.js 1.6.1
No.2ベストアンサー
- 回答日時:
ajaxは非同期に実行されています。
同じ関数の中にあるdocument.open();
document.write('<div id="' + id + '"></div>');
document.close();
のレンダリングが完了する前にレスポンスされているのでは?
new Ajax.Updater(id, file, options);
の前に
alert("ちょっと待つ");
を入れて試してみてはどうでしょう。
この回答への補足
alert("ちょっと待つ");
を入れてもIEではダメでした。
Firefoxでは大丈夫なんですよね。。
<html>
<head>
<title>テストページ</title>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function my_include(id, file) {
document.open();
document.write('<div id="' + id + '"></div>');
document.close();
alert("ちょっと待つ");
var options = {};
options.method = "get";
options.asynchronous = true;
new Ajax.Updater(id, file, options);
}
</script>
</head>
<body>
<script type="text/javascript">my_include("headers","sample.html");</script>
テストテスト
</body>
</html>
自己解決しました。
prototype.jsはieだとローカルファイルにアクセスできないんですね。。
Webサーバ上にアップしたらできました。
初心者ですみません。
お騒がせしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
googleモバイルがiframeで表示...
-
ボタンが押されたらWebページの...
-
WEB上で編集できない、スク...
-
テキストボックス内にハイパー...
-
-css- ページオープン時やリロ...
-
(Javascript)印刷するファイル...
-
ハイパーリンクに下線を表示す...
-
スクロールバーのスクロール量...
-
bodyタグの範囲について
-
h1にmarginを指定すると一瞬カ...
-
<p>で<td>のように枠を表示させ...
-
<a href="#" …>の意味を教えて...
-
SCRIPT5007: 未定義または NULL...
-
base64encodeでの文字化けについて
-
別ファイルのfunctionの読み込み方
-
リンク移動先のURLを取得
-
スマホ上で、左右スワイプで次...
-
HTML内に記載された画像のURLを...
-
Java ScriptでIPによるアクセス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
(Javascript)印刷するファイル...
-
ハイパーリンクに下線を表示す...
-
テキストボックス内にハイパー...
-
ボタンが押されたらWebページの...
-
横スクロールを右から左へ・・・
-
WEB上で編集できない、スク...
-
別ページのページ内リンクでの...
-
"mailtoでメールの【氏名】【性...
-
googleモバイルがiframeで表示...
-
bodyにwidth:100%をつける理由は?
-
複数のiframeの読み込みについて
-
インラインフレームの縦幅を、...
-
【HTML】フレームの中央寄せに...
-
WSHでのIE制御について
-
インラインフレーム内のスクロ...
-
「overflow: hidden」ペー ジ内...
-
ページによって表示位置がずれ...
-
DOCTYPEの指定より異なる動き
-
外部ページからハッシュタグ(...
おすすめ情報