• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:prototype.jsがIE7でパースされない)

prototype.jsがIE7でパースされない

このQ&Aのポイント
  • JavaScriptでサーバと通信し、戻ってきたデータをDOM操作でブラウザに書き出す仕組みを作っています。
  • prototype.jsを利用してJavaScriptを書いたところ、FireFoxとOperaでは正常に動作しましたが、Internet Explorer7では動作しません。
  • IE7では、prototype.jsの後に読み込む外部JSファイルがパースされず、エラーが発生しています。そのため、スクリプトの実行が中断されています。原因としては、prototype.jsに不具合がある可能性が考えられます。

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

ぱっと思いつくのは 同じ変数名とか関数名が定義されていたりする てことかしら。 > window.onloadに関連付けたalert()ですら 読み込んだファイル内で window.onloadを利用している可能性もあるわ。 どれで起きるかは不明だけど。 たぶん、関数の実行順、 読み込んだ関数の優先度の問題なんじゃないかと思うわ。 あくまで推測だけど。 読み込む順番を変えてみるとかしてみるといいかも。 全然関係ない意外とシンプルな記述ミスとかかもしれないけど。

Mocchi113
質問者

お礼

レスポンスが早くて安心します。 > 全然関係ない意外とシンプルな記述ミスとかかもしれないけど。 結構ありますよね、そういうこと(汗)大騒ぎしてたら変数の一文字の打ち間違えだったり(涙) 今回はOperaやFirefoxでは動作していることが確実だったので 1. うち間違い 2. 関数や変数名の重複 といったことがないだろうと判断しました。 > 読み込んだファイル内で > window.onloadを利用している可能性もあるわ。 > どれで起きるかは不明だけど。 すべてのJSファイル、確認してみました。 window.onloadはconfig.jsでのみ実行しています。 他のファイルはクラスを宣言したもので、config.jsでコンストラクタを作成しています。先のalert()確認もここで行いました。ひょっとしたらここらへんに何かあるのかもしれません。 > たぶん、関数の実行順、 > 読み込んだ関数の優先度の問題なんじゃないかと思うわ。 > あくまで推測だけど。 > 読み込む順番を変えてみるとかしてみるといいかも。 順番の変更、試してみることにします。時間がかかりそう。 質問を重ねてしまい、申し訳ありませんが、関数の優先度について。JavaScriptはファイルのはじめから最後に向かって実行していくものだと理解していますが、「優先度」の設定が可能なのでしょうか?

Mocchi113
質問者

補足

解決いたしました。順番がおかしくなりますが、その旨を投稿したかったので、この補足欄に致します。 原因は、XHTML要素の書き方にありました。今回はXHTML1.1で文書を作成しています。 JavaScriptの外部ファイルを書く際に、script要素を空要素可能と理解してましたが「<script .... />」、XHTMLでは空要素不可ということがわかったので、「<script ... ></script>」とすると、IE7でもパースすることができました。 JavaScriptが原因ではなかったことがわかり、よかったです。問題解決にご協力いただいたaskaaskaさま、どうもありがとうございました。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

確かにエラーがあればそこで止まるけど あなたの手に入れたprototype.jsに不具合があるかは 判らないわ。

Mocchi113
質問者

お礼

回答どうもありがとうございます。 Prototype.jsに不具合があるかもしれないと思い、さきほどIE7で公式サイトからprototype.jsを右クリックファイル保存し、それを利用してみましたが、状況は変わらずでした。。。どうも原因はprototype.jsではなさそうです。

関連するQ&A