一回も披露したことのない豆知識

jspで生成された、javascriptを含むhtmlをブラウザで表示すると、下記のエラーになります。

ライン:30
文字:31
えらー:識別子がありません。
コード:0
URL:「jspのurl」

質問ですが、このエラーメッセージのラインは、どこのラインでしょうか?
jspのラインでもなさそうですし、ブラウザのソース表示で確認したhtmlのラインでもないようです。
デバッグ時に場所が特定できなくって困ってしまって質問しました。
どなたか、わかる方、教えてくれませんでしょうか。

ちなみに、開発環境は、
win2k、tomcat、IE6.0です。

A 回答 (7件)

 えとですね(^_^;


 これなんでそういう仕様になってるのか理解に苦しむんですが、「JavaScript ソースだけを数えたときの行数」という数え方になってます。
 俺もこれで凄い苦労してますよ。

 デベロップメントスタジオがあれば、一発でエラー個所を特定してくれるんですけどね……。
 要するにデベロップメントスタジオ買えよってことなのかも。だとしたら悪どい(笑)
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/03/04 16:08

> IEのソース表示では.jsファイルは展開表示されないようなので、エラー表示のラインは、.jsファイル展開後のライン数なのかなと思ったのですが、どうなのでしょう。



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

この回答への補足

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

補足日時:2004/03/04 23:24
    • good
    • 0

先ほどの補足です。


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

互換性を持たせようとすると、結構大変なこともありますので、「JavaScriptコンソール」は、試してみて動かないようであれば、あきらめたほうがよいかと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/03/04 23:22

IEであれば、大方Windows上でしょうから(Mac版、Unix版もあるにはありましたが・・・)、IIS、もしくはPWSが標準で付属するOS上で動作されているようでしたら、Windowsコンポーネントの追加と削除(コントロールパネル->アプリケーションの追加と削除、かな?)で、


「スクリプトデバッガ」
というものがありますから、
それでデバッグできるかもしれません。
っと、出来たとは思ったのですが、最近使っていないので、忘れてます^^;

「JavaScriptコンソール」は、ネットスケープ6.0などのベースになっている、モジラプロジェクト(オープンソースWebブラウザ)に付属しているもので、IEには、残念ながら付属していません。
便利なんですけどね。
    • good
    • 0

Mozilla系のブラウザを使えば、JavaScriptコンソールというのが付属していて、


どこか、ピンポイントで示してくれますよ。

この回答への補足

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

補足日時:2004/03/04 16:22
    • good
    • 0

エラーメッセージの内容からして、ブラウザはIEだと思われます。

(ブラウザによってメッセージは違いますからね)

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

おそらく、JSPを変換したJavaソースコード上の位置です。

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

この回答への補足

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

補足日時:2004/03/04 15:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報