javascriptのエラーでページが開けないぜ!

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を閉じた後に移動するとエラーが出なくなります。
気持ちは分からないでもないですが、なんだか悲しい。せめてもっと何か表示してくださいよー。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です