2012-01-04 14 views
5

Sitemi Kindle Fire'da çalıştırırken Chrome'dan daha farklı bir javascript davranışı yaşıyorum. Bunu hata ayıklamak için Chrome Geliştirici Aracı veya Firebug gibi bir şeye erişmem gerekiyor. Baska öneri?Kindle Fire'da ipek tarayıcıda nasıl hata ayıklanır?

+0

FWIW, şimdi ihtiyacım olduğunda Weinre'yi kullanıyorum. jsconsole mükemmeldir, ancak weinre, krom geliştirici araç çubuğuyla aynı hata ayıklama aracını sağlar. Kurmak biraz karmaşık ama buna değer: http://people.apache.org/~pmuellr/weinre/docs/latest/ –

cevap

5

Burada aynı teknede ... adb logcat'in yardımcı olacağını umuyordum, ancak javascript konsol mesajları orada görünmüyor. Belki de konsol günlüklerini logcat'e yönlendirmek için cihazda ayarlanması gereken bir şey var mı?

düzenleme: iyi bir çözüm bulundu: http://jsconsole.com - uzaktan hata ayıklama/günlük konsolu oluşturmanıza olanak sağlar. Oldukça basit (sadece günlük kaydı yapabilmeniz için çok fazla kütük dökmeniz gerekecek) ... ama iyi çalışıyor. En azından sorunlarımın kaynağını bulmama yardımcı oldu!

nasıl yapılır:

+0

: jsconsole.com'un hayatım boyunca neresi var? Çok yardımsever. Teşekkürler! – Meekohi

+0

Bu mükemmel. – mckamey

0

http://jsconsole.com/remote-debugging.html Ben farklı bir yaklaşım aldı ve JavaScript için bir diyalog açılır bir sarıcı yerel uygulamasını yarattı.

Sarma kodum oldukça büyüktür, bu nedenle ilgili parçaların pasajını aldım. Aslında çalışır ve HER javascript hatası görüntüler.

// 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; 
     } 
    } 

bu derlemek için, bilgisayarınızdan Android SDK yüklemeniz gerekir ve muhtemelen bir Java IDE (Eclipse?) ADT ile. Öyleyse yapın: yeni bir proje oluşturun, layout/main.xml'inize bir WebView bileşeni ekleyin ve kodu yapıştırın. Kindle Fire'unuzu derleyin ve yükleyin.

İlgili konular