Frage

Ich bin Debuggen ein Safari-spezifisches Javascript Problems, und ich kann nicht console.log zur Ausgabe in das Fehlerprotokoll erhalten. Dies ist ein dokumentiert Funktion Safari (ich bin mit Version 4.0.3). Diese Aussagen in meinem Code scheinen einfach, aber ignoriert. Warum?

War es hilfreich?

Lösung

Dank Breton und SeanJA für ihre Vorschläge direkt in der Konsole testen und machte eine Beispieldatei. Nachdem Sie das getan, erkannte ich, dass console.log war in der Tat, in einer isolierten Umgebung arbeiten. Das machte mir klar, dass es etwas Besonderes zu meiner Entwicklungsumgebung sein muss. Überprüfen um, fand ich, dass es einige JavaScript früh geladen, entwickelt, um das Konsolen-Objekt für Nicht-Firebug-fähigen Browser zu definieren.

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() {}
 }

Dies wurde offenbar geschrieben, bevor Safari eine Konsole Objekt für sein Fehlerfenster implementiert hatte.

Ich habe das entfernt und jetzt ist alles gut funktioniert. Danke, Jungs.

Andere Tipps

Sind Sie mit dem Mac- oder Windows bauen?

Auf die Fenster bauen ich nicht das meiste, was in den „Entwickeln“ Männer verwenden können, keine der JavaScript-Optionen für mich arbeiten. Ich kann nur verwenden

  • Öffnen Seite mit
  • User-Agent
  • Show snipper Editor
  • Deaktivieren *

In Firefox weiß ich, dass Sie jetzt die Firebug-Konsole offen für Konsole haben müssen. * Funktionen zu arbeiten. Vielleicht ist es das gleiche?

Sie könnten versuchen, die Debug-Modus zu aktivieren. Ich habe keine Ahnung, ob dies einen Unterschied machen, aber man kann es versuchen: Anleitung zur Aktivierung von Debug-Modus

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top