Domanda

Sto eseguendo il debug di un problema javascript specifico di Safari e non riesco a ottenere console.log per l'output nel registro degli errori. Questa è una funzionalità documentata di Safari (sto usando la versione 4.0.3). Queste dichiarazioni nel mio codice sembrano tuttavia essere ignorate. Perché?

È stato utile?

Soluzione

Grazie a Breton e SeanJA per i suggerimenti di testare direttamente nella console e creare un file di esempio. Dopo aver fatto questo, mi sono reso conto che console.log, in effetti, funzionava in un ambiente isolato. Questo mi ha fatto capire che deve essere qualcosa di particolare per il mio ambiente di sviluppo. Controllando, ho scoperto che all'inizio era stato caricato un po 'di JavaScript, progettato per definire l'oggetto console per browser non abilitati per 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() {}
 }

Apparentemente è stato scritto prima che Safari avesse implementato un oggetto console per la sua finestra di errore.

L'ho rimosso e ora tutto funziona bene. Grazie ragazzi.

Altri suggerimenti

Stai usando il build mac o windows?

Nella build di Windows non posso usare la maggior parte delle cose in " Sviluppo " uomini, nessuna delle opzioni javascript funziona per me. Posso usare solo

  • Apri pagina con
  • User Agent
  • Mostra editor snipper
  • Disabilita *

In Firefox so che ora devi avere la console firebug aperta affinché le funzioni della console. * funzionino. Forse è lo stesso?

Potresti provare ad attivare la modalità debug. Non ho idea se questo farà alcuna differenza, ma puoi provarlo: Istruzioni per l'attivazione della modalità debug

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top