人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

先ほど、JavaScriptで、下記を質問させていただきましたが
情報が少ないため、一度、ポイントを渡させていただき
終了させていただきました。

http://q.hatena.ne.jp/1254900364

上記のURLの質問に加え
エラー通知で追記です。

あるIEブラウザのみで
'console'は宣言されていません。
とダイアログが出てきます。

なお、OSは成否に関わらず
全てがWindows XPとなります。

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:Console JavaScript Windows XP エラー ダイアログ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Rieko24
●23ポイント

エラーが出てないIEの方では、ダイアログが出てないだけで、実はエラーが出ている、と言う事は無いでしょうか?

エラーダイアログが出てこなくても、IEのステータバーに△のびっくりマークが出ているときはエラーが出ています。

確認してみてください。

※IEの設定で、エラー時にダイアログを出すか出さないかの設定があります。

↓下記URLで非表示にする設定方法が載っています。

http://www.oshiete-kun.net/archives/2009/01/7_0012.html

他考えられる事として、

・エラーが出るPCでは、ページの読み込み途中でなんらかのネットワーク障害が起き、必要なJavaScriptを読み込めていない

→HTMLソースが間違っていないか、読み込まれていない画像がないかチェックをしてみてください。

・Cookieや上記の状態のままキャッシュが残り、邪魔されている

→すべてのキャッシュやCookieを一度空にしてみてください。

等ですかね。。

もし単純にJavaScriptエラーが出ているのであれば、エラー内容は解消すべきなので、

FireFoxなどの別のブラウザでエラーの詳細を確認してみてください。

IEより詳しくエラーがでてくるので、どこの構文が間違っているか発見しやすいと思います。

◎質問者からの返答

エラー自体も出ていない状態です。

「IE6」、「一部の方のみのPC」

という限定した状態です。


2 ● goog20090901
●23ポイント

>'console'は宣言されていません。

IEのキャッシュを一度クリアしてみては?

宣言されてないと認識してるけど、たぶんソース上では宣言してると思うので。


http://q.hatena.ne.jp/answer


3 ● Reiaru
●22ポイント

前の質問も拝見させて頂きました。

現状としては、前回の y-kawaz 様の回答と、今回の Rieko24 様の回答は現時点で行える最善の手法を述べたものであると思います。


しかしながら…何のソースコードも提示されていない上、

コメント欄を閉じた状態のままこちらの質問を続けるのには無理がある様に思えます (コメント欄を使える様に設定を変更した方が良いでしょう)

回答欄で質問を返す様な事は行いたくないのですが、こうした場合にはどの様な動作をするのでしょうか?


そのエラーが発生する箇所の直前に、


var console;

もしくは

var console = 0;

など


console の用途によっては、無理矢理に再定義する事で回避できる可能性があります (その時点で初期値でも構わない様な場合)。

但し、どう考えてみても好ましい処理の仕方ではありません。


私はこれ以上回答しないと思いますので、後程オープン料を含めて全額をポイント送信でお返し致します。




ところで、http://q.hatena.ne.jp/1254904623#a956088 と言いますのは、

http://q.hatena.ne.jp/1254900364#a956029片方にだけキャッシュが残っていないか?(両方でキャッシュを完全に削除して確認)

http://q.hatena.ne.jp/1254904623#a956051→すべてのキャッシュやCookieを一度空にしてみてください。

で既に二度も述べられている事ですよね。何故その回答がオープンされた後に同じ回答を行なうのでしょうか…? (その上で解決しなかったと質問者様より既に明記されています)


4 ● ardarim
●22ポイント

consoleだと、FireBugのconsoleオブジェクトを参照している可能性が高いと思います。

エラーが出ない方のXP+IE6でなぜconsoleオブジェクトが存在するのか、その理由まではソースコードが不明なので具体的にはわかりませんが、以下のようなコードをスクリプトの先頭に追加することで回避は可能と思います。

if (window['loadFirebugConsole']) {
window.loadFirebugConsole();
} else {
if (!window['console']) {
window.console = {};
window.console.info = alert;
window.console.log = alert;
window.console.warn = alert;
window.console.error = alert;
}
}

(参考)

jQuery時代に生きるクロスブラウザ対応の知恵 8選 : tech.kayac.com - KAYAC engineers' blog

ReferenceError: console is not defined - Code Couch

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ