17

SVG グラフィックを表示するグラフィック ページがあります。Raphael グラフィック フレームワークを使用しています。ページは Firefox で適切に表示されます。また、IE9 で F12 開発者ツールが「オン」に設定されている場合、正常に動作します。F12 開発者モードがオフに設定され、ブラウザー キャッシュがクリアされた状態でアプリケーションが開始された場合 (一般ユーザーをシミュレート)、マップは IE9 の部分的なデータ (ノード リンク ダイアグラムであり、12 ノードのうちの 1 つの子ノードのみを示します) を示します。

更新: デバッガーをオンのままにして、「コンソールが定義されていません」というエラーを表示します。グラフィックレンダリングの問題ではないと思います。また、コンソールを明示的に使用していません。マインドマップjsが内部で使用している可能性がありますが、この問題を解決するにはどうすればよいですか?

更新: 問題を発見し、js ファイルから console.log エントリをコメントアウトしました。

ありがとう。

4

3 に答える 3

43

おそらく、あなたのコードまたはあなたが呼び出しているコードが使用しているconsole.log、またはそれに似たものです。

このコードをグローバルスコープに追加して、IE(またはそれをサポートしていないブラウザー)のダミーラッパーを作成できます。他のライブラリを呼び出す前に、次のコードをどこかに配置してください。

if(!(window.console && console.log)) {
  console = {
    log: function(){},
    debug: function(){},
    info: function(){},
    warn: function(){},
    error: function(){}
  };
}
于 2012-04-17T00:37:18.100 に答える
10

問題は、js コードが「console.log」などのコンソール メソッドを呼び出すことがありますが、ブラウザにコンソールがない (または閉じている) ことです。

これを修正するには、スクリプトを含める前にこれを (1 回) 追加します。

//Ensures there will be no 'console is undefined' errors
window.console = window.console || (function(){
    var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){};
    return c;
})();

これにより、存在しない場合にのみ「疑似」コンソールが作成されるため、「コンソールは未定義です」というエラーはなくなります。

お役に立てれば。乾杯

于 2012-07-24T20:04:32.297 に答える
2

コードに console.log() または console.error() 呼び出しがありますか?

于 2012-04-17T00:29:32.137 に答える