JavaScript エラーを解消する
Windows IE6.0 でページを表示した時、ステータスバー左下に画像のような黄色いアイコンと「ページでエラーが発生しました」という情報が表示されることがあります。これがいわゆる「JavaScript エラー」で JavaScript の実装に問題があることを示しています。
エラーが発生するのは体裁の良いものではなく、場合によってはページが正常に表示されない場合もありますので、できれば解消したいところです。
ということで、JavaScript エラーの解消方法をご紹介します。ただしエラーを解消するには JavaScript の修正を伴うケースが少なくないため、プログラミングが苦手な方については原因発見までとなります(後はスクリプト配布元に問い合わせましょう)。
2013/7/31追記:最新ブラウザを使った「JavaScriptエラーを表示・確認する方法のまとめ」をエントリーしました。
1.エラー詳細の表示
2.エラー原因の確認
また左の「element has no properties」というエラーは、「スクリプトは存在するが処理が誤っている」というエラーです。エラー画面のURL部分をクリックするとエラーとなっているファイルを表示し、エラー発生箇所を反転表示してくれます(下はその抜粋です)。 |
具体的には、hogehoge という ID属性のスタイルを非表示にしようとしているのですが、hogehoge という ID属性自体が存在しないため、element という変数には何も設定されません。で、次の行で何も設定されていない変数(=スタイル)のプロパティを制御しようとしているためエラーになります。
この場合はスクリプトに hogehoge という ID属性がページに存在しないケースを考慮する if 文を追加して
function func() {
element = document.getElementById("hogehoge");
if (element) {
element.style.display = 'none';
}
}
とします。スクリプト修正後、コンソール右側にある[クリア] をクリックして情報を一旦クリアしてからブラウザを更新すればエラーは解消します。
3.外部ファイルが存在しない場合のエラーを発見する
下記リストのように JavaScript を外部ファイルとして読み込む場合があります。
<script type="text/javascript" src="https://www.koikikukan.com/menufolder.js"></script>
この menufolder.js 自体が存在しない場合、外部ファイルに書かれたスクリプトを起動する箇所で JavaScript エラーが発生し、結果的に外部ファイルが正常に読み込まれていないことが分かります。が、外部ファイルを単に読み込むだけで、ファイルに書かれたスクリプトをページで一切使用していない場合、Firefox のコンソールでは正常に読み込まれているかどうかまではチェックできません。
2007.02.02 追記
Firefox の記述を Firefox 2 用に修正しました。
- 複数のsubmitボタンをonsubmitで判定する方法
- JavaScriptの時間を0パディングする方法
- JavaScriptでJSONデータを作る方法
- JavaScriptやjQueryで設定されたイベントの定義場所を調べる方法
- javascript:void(0)のまとめ
- setTimeout()やsetInterval()で引数を渡す方法
- JavaScriptのFormDataの使い方
- JavaScriptメールアドレスチェッカー
- PCのブラウザでiPhoneやAndroidのようなパスワードフォームを実現するJavaScriptライブラリ「FormTools」
- JavaScriptでフォーカスのあたっている要素を取得する「document.activeElement」
- 入力フォームの全角・半角を勝手に変換してくれるJavaScript
- JavaScriptエラーを表示・確認する方法のまとめ
- ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由
- JavaScriptでCSSの擬似クラスを設定する方法
- JavaScriptの正規表現で文字列を抜き出す「グループ化」
≫ Amazonアフェリエイト 商品プレビューのエラー from Mistgrass Weblog
Amazonのアフェリエイトで「商品プレビュー」という機能があります。Amaz... [続きを読む]
yujiroさん
いつもど素人の質問ですみません。
JavaScriptがよくわかっていないので申し訳ありませんが、時間があればご教示ください。
最近、多分TinyMCE MT3.3用を入れてからと思いますが、IE(6でも7でも)で/cgi/mt/mt.cgi の画面(login したすぐ後)で、リンクされていない部分にカーソルを当てるとJavaScriptエラーがでます。内容は構文エラーです。Netscapeでは特段のエラーは表示されませんが、Netscape7.1 の[ツール]-[Web開発]-[JavaScriptコンソール]には以下の表示がでます。表示されているディレクトリーは、TinyMCE プラグインには存在しません。他のディレクトリーに該当ファイルはあります。lolipopとは別のエラーなんでしょうか。エントリー編集には支障がないので無視していますが、お手空きの時にこれはどう解釈したらいいのかご教示いただければありがたいです。JavaScriptコンソール
>n_shuheiさん
こんにちは。
ご質問の件につきまして、原因は不明ですが、エラーが発生する詳細は下記の通りです。
マウスでリンクされていない部分にカーソルをあてた時、そのリンクから、JavaScript コンソールの2つめ表示されている URL の editot_plugin.js を読み込もうとしますが、(指定されたディレクトリにファイルが存在しないため)404エラーになります。
が、ブラウザはこの404エラーのHTMLファイルを JavaScript ファイルとして処理してしまうため、「1行目の html タグは syntax error ですよ」というエラーを表示する、という訳です。
1つめのエラーも、404エラーのHTMLファイルをCSSとして読み込もうとしているために発生しているエラーのようです。
マニュアル通りにインストールされているのであれば配布元で確認された方がいいかもしれません。
なお、私も試しにプラグインをインストールしましたが(Windowsですが)同様の事象は発生しませんでした。また(見落としていなければ)旧バージョンも imagemanager というディレクトリは存在しないようです。
それではよろしくお願い致します。
>yujiroさん
お忙しいのに早速の回答ありがとうございます。
TinyMCEの配布元に問い合わせて見ることにします。
>n_shuheiさん
どういたしまして。
ではでは!
>yujiroさん
配布元への問い合わせには、mixiメンバーに登録しなければならないことやフォーラムとコミュニティと間違えていたため質問を見てもらうのが遅くなりました。以下のような回答がすぐにあり、その通り実行しますとエラーがでなくなりました。
IEを使っている人は多いと思いますが。
ご参考までに、配布元のDakinyさんからの回答を引用します。
> n_shuheiさん
http://・・・・・・/cgi/mt/mt-static/TinyMCEforMT/js/tiny_mce/plugins/imagemanager/editor_plugin.js
と言うのはTinyMCEと連動するMCImageManegerを使用する時の設定です。
MCImageManegerをご利用でない場合、imagemaneger呼び出しをしない設定にして使って見て下さい。
具体的には
/plugin/TinyMCEforMT/TinyMCEforMT110.pl
の163行目の末尾から
,imagemanager
を取り除いて見て下さい。
過去、開発及びテスト環境ではそれらの症状は出ていませんので、IE7のインストールにより、JavaScriptの動作環境が変更になったからかも知れません。
または、Firefoxでは上記の現象が起こりませんので、動作環境を保証しているFF1.5かFF2.0をご利用ください。
※Netscape7.1は動作対象外です。
※IE7.0は動作はしますが、詳しく動作調査しておりません。
なお、作業が伴う場合はご自分の責任でお願いします。
以上、よろしくお願いします。
>n_shuheiさん
こんばんは。
ご連絡ありがとうございました。
また貴重な情報、ありがとうございます!
初めましてyujiroさん
どうしてもjavascriptのことでわからないことがあるのでよろしければ
ご指南ください。
エラーでjavascript:function%20voiと表示されるのですがこれは
どのような時におこりうることなのでしょうか?
そのページは注意書きにjavascriptをオンにしなければ閲覧ができない
ページで、動作環境にも制限があるページなんですが調べてみたところ
一応それには該当していないようです。
荒唐無稽な質問で恐縮ですが、お心当たりがあればどうかご教授お願いします。
>RISAさん
こんばんは。
すいませんがご質問の内容だけでは判断しかねますので、差し支えなければそのサイトのURLをお知らせ頂けますでしょうか。
それではよろしくお願い致します。
情報不足で申し訳ありませんでした。
主に文章の創作等をなさっているサイトさんなのですが
URLは下記になります
http://rainxdrop.hp.infoseek.co.jp/works.html
大変お手数ですがどうぞよろしくお願い致します
>RISAさん
こんばんは。
分かりました。
「javascript:function%20voi」はエラーではなく、aタグのhref属性にそのように記述されているのがステータスバーに表示されているだけです。
回答になっていなければすいませんが、とりあえずご連絡まで。
ご丁寧な回答どうもありがとうございました。
しかし再度閲覧を試みてはみたのですが、やはり
「実行しましたがエラーが表示されました」→「javascript:function%20voi」
という流れになるのでやはり文章の閲覧は無理でした
以前はその様になることはなく普通に見ることもできていたので
どうやらそのサイトさんのところに何らかの不具合があるのかなと。
今後はそちらと連絡を取り合って解消に努めていくつもりです。
yujiroさん、本当にどうもありがとうございました。
>RISAさん
こんにちは。
現在は閲覧できるみたいですよ。
ではでは!
html のカレンダーを作成するプログラムをJavaScriptで作成してある
ものを、Google Chrome で開くと、正常に動くのですが、
Tnternet Explorer で機動するとエラーになります。
対処の方法を教えていただけないでしょうか。
>深沢さん
こんにちは。
ご質問の件ですが、不具合が発生しているURLをご連絡願えますでしょうか。
それではよろしくお願い致します。