• ベストアンサー

javascriptのデバッグ

jspで生成された、javascriptを含むhtmlをブラウザで表示すると、下記のエラーになります。 ライン:30 文字:31 えらー:識別子がありません。 コード:0 URL:「jspのurl」 質問ですが、このエラーメッセージのラインは、どこのラインでしょうか? jspのラインでもなさそうですし、ブラウザのソース表示で確認したhtmlのラインでもないようです。 デバッグ時に場所が特定できなくって困ってしまって質問しました。 どなたか、わかる方、教えてくれませんでしょうか。 ちなみに、開発環境は、 win2k、tomcat、IE6.0です。

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

  • ベストアンサー
noname#25358
noname#25358
回答No.3

 えとですね(^_^;  これなんでそういう仕様になってるのか理解に苦しむんですが、「JavaScript ソースだけを数えたときの行数」という数え方になってます。  俺もこれで凄い苦労してますよ。  デベロップメントスタジオがあれば、一発でエラー個所を特定してくれるんですけどね……。  要するにデベロップメントスタジオ買えよってことなのかも。だとしたら悪どい(笑)

kouziii
質問者

お礼

やっぱり、苦労せよということですか(笑) ありがとうございます。参考になりました。

その他の回答 (6)

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.7

> IEのソース表示では.jsファイルは展開表示されないようなので、エラー表示のラインは、.jsファイル展開後のライン数なのかなと思ったのですが、どうなのでしょう。 それを早く言ってくださいよ~。 外部のJSファイルのスクリプトでエラーが出た場合は、そのJSファイル内における行番号・文字数が表示されます。ただし、このとき行番号はなぜか1大きな値になります。例えば5行目でエラーが出たときは「ライン:6」と表示されます。

kouziii
質問者

補足

なるほどー。そうすると、自分でラインを数えるしかないのですかね。それはこんな便利な世の中でとても原始的ですね。そこをなんとかならないものでしょうか。

  • syulen
  • ベストアンサー率71% (5/7)
回答No.6

先ほどの補足です。 Mozila付属の 「JavaScriptコンソール」 ですが、 今作られているWebページが Netscape、Opera、Mozila、InternetExplorer などのブラウザ全てで見れるものを目指していらっしゃるようでしたら、使えるかと思います。 ですが、IE6.0のみをターゲットとして作成していた場合、 言語仕様はほぼ同じものの、 オブジェクトモデルと、ダイナミックHTMLへの対応に違うところがあるため、 何気なく書いていたときは、たいてい使えなくなってしまっているかと思います(互換性のある欠き方にはなっていない可能性が多い)。 互換性を持たせようとすると、結構大変なこともありますので、「JavaScriptコンソール」は、試してみて動かないようであれば、あきらめたほうがよいかと思います。

kouziii
質問者

お礼

沢山情報ありがとうございました。 残念ながら、IEを前提にしていますので、 今後ネスケでゴリゴリやるときは使ってみます!

  • syulen
  • ベストアンサー率71% (5/7)
回答No.5

IEであれば、大方Windows上でしょうから(Mac版、Unix版もあるにはありましたが・・・)、IIS、もしくはPWSが標準で付属するOS上で動作されているようでしたら、Windowsコンポーネントの追加と削除(コントロールパネル->アプリケーションの追加と削除、かな?)で、 「スクリプトデバッガ」 というものがありますから、 それでデバッグできるかもしれません。 っと、出来たとは思ったのですが、最近使っていないので、忘れてます^^; 「JavaScriptコンソール」は、ネットスケープ6.0などのベースになっている、モジラプロジェクト(オープンソースWebブラウザ)に付属しているもので、IEには、残念ながら付属していません。 便利なんですけどね。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.4

Mozilla系のブラウザを使えば、JavaScriptコンソールというのが付属していて、 どこか、ピンポイントで示してくれますよ。

kouziii
質問者

補足

ありがとうございます。 「Mozilla系のブラウザ」とは、IE6.0も含まれますか? そのJavaScriptコンソールっていうのは、どうやって使うのでしょう。解説しているサイトなどありましたら、ご紹介してくださると、大変助かりまふ。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

エラーメッセージの内容からして、ブラウザはIEだと思われます。(ブラウザによってメッセージは違いますからね) IEの場合、エラーメッセージ内の「ライン」と「文字」は実際にIEが解釈しているソースコード内における行数と文字数を表しています。つまり、IEでソースを表示させた場合における行数・文字数です。 行数・文字数のカウントは1から始まり、タブ文字も1文字としてカウントされます。もちろん、HTML内のjavascript以外の部分もカウントに含めます。

  • nori_6576
  • ベストアンサー率28% (6/21)
回答No.1

おそらく、JSPを変換したJavaソースコード上の位置です。そのソースコードは、Tomcatのディレクトリ下のwork/Standalone/localhost/ にパッケージ名がついたディレクトリがあります。そこに、たとえば、Test_jsp.javaといったように、*_jsp.javaというファイルがあります。 そのファイルの行位置を確認して見てください。

kouziii
質問者

補足

確認してみました。どうもそこでもないらしいです。 JSPをコンテナがjavaを作って、クラスを作って、実行時にそのクラスでhtmlを生成し、そのhtmlをIEが食べた時に、スクリプトエラーになってるようなのです。 それでいて、ソース表示に表示されるラインと違うのです。 ちなみに、htmlの中で.jsファイルを読み込んでいます。 IEのソース表示では.jsファイルは展開表示されないようなので、エラー表示のラインは、.jsファイル展開後のライン数なのかなと思ったのですが、どうなのでしょう。

関連するQ&A