質問

Safari固有のjavascriptの問題をデバッグしていますが、 console.log を取得してエラーログに出力できません。これは、文書化された機能です。 Safari(バージョン4.0.3を使用しています)。ただし、私のコード内のこれらのステートメントは無視されるようです。なぜですか?

役に立ちましたか?

解決

コンソールで直接テストし、サンプルファイルを作成する提案をしてくれたBretonとSeanJAに感謝します。これを行った後、console.logは実際には隔離された環境で動作していることに気付きました。これは、それが私の開発環境に特有なものでなければならないことを実感しました。調べてみると、Firebugが有効になっていないブラウザーのコンソールオブジェクトを定義するように設計されたJavaScriptが早い段階でロードされていることがわかりました。

if (!("console" in window) || !("firebug" in console))
 {
     var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
     "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

     window.console = {};
     for (var i = 0; i < names.length; ++i)
         window.console[names[i]] = function() {}
 }

これは、Safariがエラーウィンドウ用のコンソールオブジェクトを実装する前に書かれたようです。

これを削除しましたが、現在はすべて正常に動作します。ありがとう、みんな。

他のヒント

MacまたはWindowsビルドを使用していますか

Windowsビルドでは、&quot; Develop&quot;のほとんどのものを使用できません。男性、javascriptオプションはどれも私には機能しません。使用できるのは

のみです
  • ページを開く
  • ユーザーエージェント
  • スニッパーエディターを表示
  • 無効*

Firefoxでは、console。*関数が機能するためにはfirebugコンソールを開く必要があることを知っています。おそらく同じですか?

デバッグモードを有効にしてみてください。これが何らかの違いをもたらすかどうかはわかりませんが、試してみてください:デバッグモードを有効にする手順

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top