2011-09-05 38 views
6

Tôi đang làm việc trên một ứng dụng di động cần phải thăm dò ý kiến ​​một dịch vụ web trên một khoảng thời gian thông thường (sử dụng setInterval). Tôi đã tạo ra một mẫu thử nghiệm dựa trên HTML5, nhưng khi trình duyệt di động chạy ẩn, việc thực thi javascript bị treo.Nhân viên web trong trình duyệt di động

Tôi đã xem xét việc tạo ứng dụng gốc cho iOS và Android. Trên iOS, điều này có thể được thực hiện bằng cách yêu cầu một lượng thời gian xử lý giới hạn khi ứng dụng vào chế độ nền. Trên Android tôi đoán tôi sẽ phải thực hiện một dịch vụ được bắt đầu và dừng lại từ ứng dụng.

Tuy nhiên, tôi thấy rằng trong Safari trên iOS5, hỗ trợ người lao động web đã quay lại và điều này đã được hỗ trợ trong trình duyệt Android trong một thời gian. Điều này làm cho tôi tự hỏi, tôi có thể sử dụng công nhân web để chạy javascript trong các trình duyệt di động khi họ đang ở chế độ nền không?

Trả lời

2

Câu trả lời là không.

Rất tiếc, các ứng dụng nền với công nghệ HTML5 không phải dành cho thiết bị di động. Không chỉ các trình duyệt di động tích cực đình chỉ trang khi nó là nền, nhưng chúng cũng có thể giết toàn bộ trình duyệt (tab) nếu chúng cảm thấy như vậy. Cho dù bạn có hoặc không có nhân viên web không ảnh hưởng đến điều này.

Chạy ngay cả ứng dụng gốc trên nền không phải là tầm thường trên các hệ điều hành này.

Những gì tôi đề nghị bạn là

  • Extract nền công nhân một phần ra khỏi JS của bạn và viết nó bằng tiếng mẹ đẻ (Java, iOS)

  • Sử dụng PhoneGap, vv wrapper tương tự cho các ứng dụng của bạn Giao diện người dùng

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