2011-07-18 37 views
30

Chúng tôi có một trang web hiện có và tôi đã được yêu cầu kiểm tra khả năng tương thích của nó với các trình duyệt di động.Gỡ rối sự cố bố cục CSS trong Android

Tôi đã cài đặt SDK Android trên máy tính để bàn của mình. Tôi có thể xem trang web localhost của tôi trong trình giả lập và tôi đã xác định được một số trục trặc trong bố cục trang xuất hiện trong trình duyệt Android.

Nhưng vì không có sự cố nào trong số này xảy ra trong bất kỳ trình duyệt dành cho máy tính để bàn nào, tôi đã phải vật lộn với cách gỡ lỗi chúng. Ví dụ, trong Firefox, nó rất dễ sử dụng Firebug để xem những bảng định kiểu nào đã được appies và điều chỉnh chúng trên bay để xem nó ảnh hưởng như thế nào đến layout. Nhưng tôi đã không tìm thấy một cách để làm bất cứ điều gì tương tự như trên giả lập Android.

Câu hỏi đặt ra là, thiếu lỗi + dùng thử, làm cách nào để tìm hiểu xem nguyên nhân gây ra những vấn đề bố cục đó là gì? Trình duyệt Android (hay Android SDK) có bất kỳ loại công cụ nào hữu ích để gỡ lỗi CSS không? Nếu vậy, làm thế nào để sử dụng chúng?

[EDIT] Tôi đã không tìm thấy một giải pháp này, vì vậy tôi ném mở cửa để các thợ săn tiền thưởng ...

Trả lời

16

Weinre có lẽ là gần nhất với những gì bạn đang tìm kiếm:

Nếu bạn đang muốn tìm một cái gì đó cho phép bạn tinh chỉnh bố trí trong thời gian thực nó nên làm cho bạn hạnh phúc.

+0

+1 và tiền thưởng. Cảm ơn nhiều! Điều này trông giống như chính xác những gì tôi đã làm sau. Những gã điện thoại đang sản xuất một số phần mềm rất ấn tượng. – Spudley

+0

Theo như tôi có thể nói, weinre không hiển thị nội dung CSS khi bạn đang làm việc với trình duyệt Android. Tức là, khi bạn xem xét các công cụ dành cho nhà phát triển trong Chrome, phần "Kiểu" trong tab "Yếu tố" không phản hồi khi bạn chọn các yếu tố từ trang đang được gỡ lỗi. Ít nhất, nó không cho tôi ... – Pointy

1

Bạn có thể đã nhìn thấy điều này, nhưng trang web tài liệu SDK có một số thông tin cơ bản về phát triển và gỡ lỗi các ứng dụng web trên Android:

Web Apps Overview

Debugging Web Apps

Hy vọng rằng sẽ giúp!

+0

Cảm ơn bạn đã trả lời. Tôi đã thấy điều đó, và giao diện điều khiển là rất tốt để gỡ lỗi Javascript (hoặc nó sẽ là, nếu tôi đã có bất kỳ ...), nhưng đó là CSS tôi đang gặp rắc rối với, và những liên kết không có vẻ để cung cấp bất kỳ trợ giúp nào về điều đó. (Ngoài ra, nó là một trang web bình thường, không phải là một ứng dụng web, nhưng tôi chắc chắn một số vấn đề tương tự được áp dụng) – Spudley

+0

+1 vì có một số nội dung hữu ích trong các liên kết đó. – Spudley

5

https://chrome.google.com/webstore/detail/geelfhphabnejjhdalkjhgipohgpdnoc?hl=en-US

https://chrome.google.com/webstore/detail/cllkoedgiefnomcccogcalmjogjfcpji?hl=en-US

https://chrome.google.com/webstore/detail/cghdkdcepiflkhaddpomjehcmdojgobh?hl=en-US

Tôi tìm thấy một số tùy chọn xuất hiện như thể họ sẽ làm việc cho bạn nếu một mô phỏng/mô phỏng sẽ đủ hoặc ít nhất giúp bạn bắt đầu. Lợi ích của việc này là Công cụ dành cho nhà phát triển Chrome dường như hoạt động với các tiện ích bổ sung!

+0

+1. Cảm ơn bạn. Chúng trông rất hữu ích. – Spudley

1

Tôi không biết cách bạn phát hiện thiết bị di động nhưng tôi phát hiện khách hàng có tác nhân người dùng. Bởi vì điều này tôi chỉ đơn giản có thể gửi một chuỗi tác nhân người dùng khác nhau để kiểm tra CSS hoạt động khá tốt.

Đối với Firefox, tôi sử dụng User Agent Switcher. Ngoài ra, tôi sử dụng công cụ Nhà phát triển web không chỉ để xem tất cả các cài đặt mà còn là tùy chọn Thay đổi kích thước để mô phỏng chiều rộng khung nhìn.

Safari của Apple có phần mở rộng dành cho nhà phát triển và bên trong cũng là Trình chuyển đổi tác nhân người dùng. Bạn có thể thêm chuỗi User Agent của riêng bạn.

+0

cảm ơn câu trả lời. Tôi lo lắng nhiều hơn về việc gỡ lỗi các vấn đề nảy sinh trong các trình duyệt di động cụ thể, vì vậy trình chuyển đổi UA trên một trình duyệt khác có thể sẽ không giúp ích gì trong trường hợp của tôi. Nhưng nó có thể là một ý tưởng hữu ích trong một số trường hợp khác, vì vậy tôi sẽ cung cấp cho bạn một +1. – Spudley

+0

Đúng, việc triển khai thực tế HTML/CSS/Javascript và hiển thị trang không thể được mô phỏng. –

2

Cá nhân tôi rất muốn làm điều này trên phần cứng Android thực tế. Trong sử dụng một chiếc điện thoại màn hình cảm ứng là khá khác nhau để ngay cả những giả lập chính xác nhất; Những thứ như gamma, mật độ điểm ảnh, hiệu suất, tương tác chạm (là các liên kết đủ lớn?), hướng dọc/ngang và thậm chí thực tế bạn giữ nó trong tay làm cho nó hoàn toàn khác với trải nghiệm của máy tính để bàn. Nếu bạn muốn xem trang web hoạt động tốt như thế nào trên thiết bị di động/Android, hãy mua thiết bị cũ giá rẻ để kiểm tra!

Để gỡ lỗi; Tôi luôn luôn bao gồm chức năng "đăng nhập" của riêng tôi mà tạo ra một giao diện điều khiển div # nếu firebug/trình điều khiển trình duyệt không có sẵn. Điều này hoạt động khá tốt cho việc gỡ lỗi trên thiết bị cầm tay với thông báo trước rằng nó bao gồm một phần nội dung. Sau đó, bạn có thể in kiểu dáng hiện tại của một đối tượng bằng một cái gì đó như

log(window.getComputedStyle(document.getElementById("myobj")); 

Lưu ý: Ở trên sẽ không hoạt động trong IE.

+0

+1 cho câu trả lời; đồng ý nó là quan trọng để kiểm tra trên phần cứng thực sự, nhưng giả lập đã chứng minh có giá trị để đối phó với một số gremlins bố trí cơ bản. – Spudley

Các vấn đề liên quan