javascriptのエラーでページが開けないぜ!
投稿日: 2008-04-25 /
カテゴリー:job
protocalendarという入力補助カレンダーを使ってみたりしています。
デザインも好みだし、導入も簡単です。
でも、組み込んで動かしてみるとエラーが出て画面が開けなくなりました。(←IE6で。Firefoxだと開く。)
こういうエラーが出ます。
インターネットサイト http://xxxxxxxx/xxxxxxxxxx/xxx.html を開けません。
操作は中断されました。
で、「OK」ボタンを押すと、「ページを表示できません。」と表示されます。
エラーが出るソースはこんな感じ。
<html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>protocalendar-test</title> <link id="calendar_style" href="../stylesheets/sample.css" media="screen" rel="stylesheet" type="text/css" /> <script src="../lib/prototype.js" type="text/javascript"></script> <script src="../lib/effects.js" type="text/javascript"></script> <script src="../javascripts/protocalendar.js" type="text/javascript"></script> <script src="../javascripts/lang_ja.js" type="text/javascript"></script> </head> <body> <form> <input id="japan_calendar" name="japan_calendar" type="text" /> から <input id="japan_calendar2" name="japan_calendar2" type="text" /> <script type="text/javascript"> new InputCalendar('japan_calendar', {lang:'ja', weekFirstDay:ProtoCalendar.SUNDAY}); </script> <script type="text/javascript"> new InputCalendar('japan_calendar2', {lang:'ja', weekFirstDay:ProtoCalendar.SUNDAY}); </script> </form> </body> </html>
どうやら、描画途中で内容を書き換えるような処理をさせると、このエラーが発生するらしいのです。
そこで、この中の
<script type="text/javascript"> new InputCalendar('japan_calendar', {lang:'ja', weekFirstDay:ProtoCalendar.SUNDAY}); </script> <script type="text/javascript"> new InputCalendar('japan_calendar2', {lang:'ja', weekFirstDay:ProtoCalendar.SUNDAY}); </script>
この部分を
……… </body> <script type="text/javascript"> new InputCalendar('japan_calendar', {lang:'ja', weekFirstDay:ProtoCalendar.SUNDAY}); </script> <script type="text/javascript"> new InputCalendar('japan_calendar2', {lang:'ja', weekFirstDay:ProtoCalendar.SUNDAY}); </script> </html>
のように、bodyを閉じた後に移動するとエラーが出なくなります。
気持ちは分からないでもないですが、なんだか悲しい。せめてもっと何か表示してくださいよー。