2012-01-04 11 views
5

Sto riscontrando alcuni comportamenti javascript diversi durante l'esecuzione del mio sito su Kindle Fire rispetto a Chrome. Per eseguire il debug di questo ho bisogno di accedere a qualcosa come lo strumento di sviluppo di Chrome o Firebug. Eventuali suggerimenti?Come eseguire il debug del browser Silk sul Kindle Fire?

+0

FWIW, ora utilizzo Weinre quando ho bisogno di farlo. jsconsole è ottimo, ma weinre fornisce lo stesso strumento di debug della barra degli strumenti di Chrome Developer. È un po 'complicato da configurare ma ne vale la pena: http://people.apache.org/~pmuellr/weinre/docs/latest/ –

risposta

5

Nella stessa barca qui ... speravo che adb logcat potesse essere d'aiuto, ma i messaggi della console javascript non sembrano apparire lì. Forse c'è qualcosa che deve essere impostato sul dispositivo per dirigere i log della console su logcat?

modifica: trovato una soluzione decente: http://jsconsole.com - consente di impostare una console di debug/registrazione remota. Abbastanza semplice (solo per la registrazione della console, quindi è necessario scaricare molto nei log) ... ma funziona bene. Aiutami a rintracciare la fonte dei miei problemi, almeno!

how-to: http://jsconsole.com/remote-debugging.html

+0

: O Dove è stata la mia vita in jsconsole.com? Così utile Grazie! – Meekohi

+0

Questo è eccellente. – mckamey

0

ho preso un approccio diverso e ha creato un'applicazione nativa wrapper che apparire una finestra per JavaScript.

Il mio codice di wrapper è piuttosto grande, quindi ho preso uno snippet delle parti relative. Funziona in realtà e visualizza QUALSIASI errore javascript.

// registers the debugger to catch errors 
WebView engine = (WebView) findViewById(R.id.web_engine); 
engine.setWebChromeClient(new DebugClient(this)); 

// the class that manages the errors 
private class DebugClient extends WebChromeClient { 
     Activity activity; 

     public DebugClient(Activity activity) { 
      this.activity = activity; 
     } 

     @Override 
     public boolean onConsoleMessage(ConsoleMessage consoleMessage) { 
      if (consoleMessage.messageLevel() == MessageLevel.ERROR 
        || consoleMessage.messageLevel() == MessageLevel.WARNING) { 
       String title="Javascript error on line " 
         + String.valueOf(consoleMessage.lineNumber()) 
         + " of " + consoleMessage.sourceId(); 
       AlertBox alertBox=new AlertBox(activity, (ActionListener)null, title, consoleMessage.message(), "OK"); 
       alertBox.show(); 
       alertBoxes.add(alertBox); 
      } 
      return true; 
     } 
    } 

Per compilare questo, è necessario installare l'SDK di Android sul proprio computer, e probabilmente un Java IDE (Eclipse?) Con ADT. Quindi basta: creare un nuovo progetto, aggiungere un componente WebView nel proprio layout/main.xml e incollare il codice. Compila e installa sul tuo Kindle Fire.

Problemi correlati