2009-09-17 5 views
5

Je suis en train de déboguer un problème javascript spécifique à Safari, et je n'arrive pas à afficher le fichier console.log dans le journal des erreurs. C'est un documented feature de Safari (j'utilise la version 4.0.3). Ces déclarations dans mon code semblent juste être ignorées, cependant. Des idées pourquoi? Je ne trouve pas de prospects via Google.Les instructions console.log() n'apparaissent pas dans le journal des erreurs Safari

+1

Vous avez un exemple de code? besoin d'ouvrir la console d'abord pour voir les erreurs? Toute autre information pertinente? Il est très difficile de dépanner un "X ne fonctionne pas, pourquoi?" sorte de question. – Breton

+1

Vous pourriez par exemple construire une page avec un script qui n'a rien d'autre qu'une instruction console.log, et travailler dessus. Cela permettra de résoudre tous les problèmes qui pourraient se trouver ailleurs dans le code. – Breton

+1

Vous pouvez également essayer de le taper directement dans la console pour voir ce qui se passe. – SeanJA

Répondre

3

Merci à Breton et SeanJA pour leurs suggestions de tests directement dans la console et faire un fichier d'exemple. Après avoir fait cela, j'ai réalisé que console.log fonctionnait, en fait, dans un environnement isolé. Cela m'a fait réaliser que cela devait être quelque chose de particulier à mon environnement de développement. En vérifiant, j'ai trouvé qu'il y avait du JavaScript qui était chargé au début, conçu pour définir l'objet console pour les navigateurs non-Firebug.

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

Cela a apparemment été écrit avant que Safari ait implémenté un objet console pour sa fenêtre d'erreur. J'ai supprimé cela et maintenant tout fonctionne bien. Merci les gars.

0

Dans Firefox, je sais que vous devez maintenant avoir la console firebug ouverte pour la console. * Fonctionne pour fonctionner. Peut-être que c'est la même chose?

1

Utilisez-vous la version mac ou windows?

Sur la construction de Windows, je ne peux pas utiliser la plupart des choses dans les hommes "Développer", aucune des options javascript ne fonctionne pour moi. Je ne peux pas utiliser

  • Ouvrir la page avec
  • User Agent
  • Afficher l'éditeur de snipper
  • Désactiver *
Questions connexes