- ベストアンサー
javascriptのデバッグ
jspで生成された、javascriptを含むhtmlをブラウザで表示すると、下記のエラーになります。 ライン:30 文字:31 えらー:識別子がありません。 コード:0 URL:「jspのurl」 質問ですが、このエラーメッセージのラインは、どこのラインでしょうか? jspのラインでもなさそうですし、ブラウザのソース表示で確認したhtmlのラインでもないようです。 デバッグ時に場所が特定できなくって困ってしまって質問しました。 どなたか、わかる方、教えてくれませんでしょうか。 ちなみに、開発環境は、 win2k、tomcat、IE6.0です。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
えとですね(^_^; これなんでそういう仕様になってるのか理解に苦しむんですが、「JavaScript ソースだけを数えたときの行数」という数え方になってます。 俺もこれで凄い苦労してますよ。 デベロップメントスタジオがあれば、一発でエラー個所を特定してくれるんですけどね……。 要するにデベロップメントスタジオ買えよってことなのかも。だとしたら悪どい(笑)
その他の回答 (6)
- UKY
- ベストアンサー率50% (604/1207)
> IEのソース表示では.jsファイルは展開表示されないようなので、エラー表示のラインは、.jsファイル展開後のライン数なのかなと思ったのですが、どうなのでしょう。 それを早く言ってくださいよ~。 外部のJSファイルのスクリプトでエラーが出た場合は、そのJSファイル内における行番号・文字数が表示されます。ただし、このとき行番号はなぜか1大きな値になります。例えば5行目でエラーが出たときは「ライン:6」と表示されます。
補足
なるほどー。そうすると、自分でラインを数えるしかないのですかね。それはこんな便利な世の中でとても原始的ですね。そこをなんとかならないものでしょうか。
- syulen
- ベストアンサー率71% (5/7)
先ほどの補足です。 Mozila付属の 「JavaScriptコンソール」 ですが、 今作られているWebページが Netscape、Opera、Mozila、InternetExplorer などのブラウザ全てで見れるものを目指していらっしゃるようでしたら、使えるかと思います。 ですが、IE6.0のみをターゲットとして作成していた場合、 言語仕様はほぼ同じものの、 オブジェクトモデルと、ダイナミックHTMLへの対応に違うところがあるため、 何気なく書いていたときは、たいてい使えなくなってしまっているかと思います(互換性のある欠き方にはなっていない可能性が多い)。 互換性を持たせようとすると、結構大変なこともありますので、「JavaScriptコンソール」は、試してみて動かないようであれば、あきらめたほうがよいかと思います。
お礼
沢山情報ありがとうございました。 残念ながら、IEを前提にしていますので、 今後ネスケでゴリゴリやるときは使ってみます!
- syulen
- ベストアンサー率71% (5/7)
IEであれば、大方Windows上でしょうから(Mac版、Unix版もあるにはありましたが・・・)、IIS、もしくはPWSが標準で付属するOS上で動作されているようでしたら、Windowsコンポーネントの追加と削除(コントロールパネル->アプリケーションの追加と削除、かな?)で、 「スクリプトデバッガ」 というものがありますから、 それでデバッグできるかもしれません。 っと、出来たとは思ったのですが、最近使っていないので、忘れてます^^; 「JavaScriptコンソール」は、ネットスケープ6.0などのベースになっている、モジラプロジェクト(オープンソースWebブラウザ)に付属しているもので、IEには、残念ながら付属していません。 便利なんですけどね。
- the845t
- ベストアンサー率33% (246/743)
Mozilla系のブラウザを使えば、JavaScriptコンソールというのが付属していて、 どこか、ピンポイントで示してくれますよ。
補足
ありがとうございます。 「Mozilla系のブラウザ」とは、IE6.0も含まれますか? そのJavaScriptコンソールっていうのは、どうやって使うのでしょう。解説しているサイトなどありましたら、ご紹介してくださると、大変助かりまふ。
- UKY
- ベストアンサー率50% (604/1207)
エラーメッセージの内容からして、ブラウザはIEだと思われます。(ブラウザによってメッセージは違いますからね) IEの場合、エラーメッセージ内の「ライン」と「文字」は実際にIEが解釈しているソースコード内における行数と文字数を表しています。つまり、IEでソースを表示させた場合における行数・文字数です。 行数・文字数のカウントは1から始まり、タブ文字も1文字としてカウントされます。もちろん、HTML内のjavascript以外の部分もカウントに含めます。
- nori_6576
- ベストアンサー率28% (6/21)
おそらく、JSPを変換したJavaソースコード上の位置です。そのソースコードは、Tomcatのディレクトリ下のwork/Standalone/localhost/ にパッケージ名がついたディレクトリがあります。そこに、たとえば、Test_jsp.javaといったように、*_jsp.javaというファイルがあります。 そのファイルの行位置を確認して見てください。
補足
確認してみました。どうもそこでもないらしいです。 JSPをコンテナがjavaを作って、クラスを作って、実行時にそのクラスでhtmlを生成し、そのhtmlをIEが食べた時に、スクリプトエラーになってるようなのです。 それでいて、ソース表示に表示されるラインと違うのです。 ちなみに、htmlの中で.jsファイルを読み込んでいます。 IEのソース表示では.jsファイルは展開表示されないようなので、エラー表示のラインは、.jsファイル展開後のライン数なのかなと思ったのですが、どうなのでしょう。
お礼
やっぱり、苦労せよということですか(笑) ありがとうございます。参考になりました。