2010-10-18 45 views

Trả lời

17

Từ bài viết ngắn của Rich Chetwynd "Gỡ lỗi Javascript trên trình duyệt Android".

Bạn có thể đăng nhập lỗi javascript và thông báo điều khiển từ thiết bị Android hoặc trình mô phỏng. Để làm điều này trước tiên bạn cần phải cài đặt Android SDK và trình điều khiển USB và bật gỡ lỗi USB trên thiết bị thực tế.

Để kiểm tra xem thiết bị được kết nối một cách chính xác bạn có thể chạy cmd sau từ các công cụ SDK Android thư mục của bạn và bạn sẽ thấy một thiết bị trong danh sách

c:\android sdk..\platform-tools\adb devices

Sau đó bạn có thể sử dụng Debug Bridge Android để lọc thông báo gỡ lỗi để bạn chỉ thấy các thông báo liên quan đến trình duyệt bằng cách chạy cmd sau.

c:\android sdk..\platform-tools\adb logcat browser:V *:S

Theo mặc định các bản ghi được ghi vào thiết bị xuất chuẩn, do đó bạn sẽ thấy bất kỳ lỗi Javascript hoặc tin nhắn console.log vv ghi vào cửa sổ cmd.

+0

Link là chết :(Bất cứ ai cũng biết nếu điều đó tồn tại bất cứ nơi nào khác? – Jesse

+0

Văn bản bài viết gốc đã được sao chép trong câu trả lời. Thats tất cả để có nó. –

+0

Tôi thấy - 'chạy trình duyệt logcat: V *: S' dường như xuất tất cả nhật ký cho tôi, tôi đã phải đăng ký nó để grep để nhận nhật ký có liên quan. – Jesse

2

Bạn có thể thêm một số hoạt Javascript tạm thời như ...

var console = { 
    log: function(msg) { alert(msg); } 
}; 

Ugly như là địa ngục, nhưng nó hoạt động.

6

Nếu bạn đã bắt đầu giả lập từ Eclipse với ADT plugin, bạn sẽ thấy tất cả JavaScript console bản ghi trực thuộc xem LogCat:

Window -> Show View -> Android -> LogCat 
3

tôi cướp console.log sử dụng mã này:

function logManager() { 
    var self = this; 

    self.init = function() { 
     console.log('logmanager initialized'); 
     var old = console.log; 
     self.logger = document.getElementById('log'); 
     console.log = function (message, options) { 
      if (typeof message == 'object') { 
       self.logger.innerHTML = (JSON && JSON.stringify ? JSON.stringify(message) : message) + '<br />' + self.logger.innerHTML; 
      } else { 
       self.logger.innerHTML = message + '<br />' + self.logger.innerHTML; 
      } 
     } 
    } 
    self.toggleLogVisibility = function() { 
     return $(self.logger).toggle(); 
    }; 
} 

Và tiêu thụ nó như vậy trong html của bạn với kiểu dáng của riêng bạn (tuyệt đối trên cùng bên phải là những gì tôi đã sử dụng)

<div id="log" class="log"> 
    Application loaded... 
</div> 

Và trong JScript của bạn (chạy này trên trang nạp như các yếu tố log có tồn tại)

document.lmgr = new logManager(); 
document.lmgr.init(); 
Các vấn đề liên quan