Tôi đang phát triển một ứng dụng web sử dụng PhoneGap: Build cho phiên bản di động và muốn có một codebase duy nhất cho phiên bản 'máy tính để bàn' và thiết bị di động. Tôi muốn có thể phát hiện xem các cuộc gọi PhoneGap có hoạt động hay không (tức là người dùng trên thiết bị di động sẽ hỗ trợ PhoneGap).
Tôi đã tìm kiếm và không thể tin rằng không có cách nào đơn giản để làm điều này. Nhiều người đã đưa ra lời đề nghị;
- http://www.sencha.com/forum/showthread.php?144127-Checking-if-running-in-PhoneGap-or-Mobile-Web-Browser
- http://groups.google.com/group/phonegap/browse_thread/thread/322e80bd41bb1a54/a421300eb2a2029f?lnk=gst&q=detect+desktop#a421300eb2a2029f
- http://groups.google.com/group/phonegap/browse_thread/thread/8a95dfeb0f313792/3ff10d8f35211739?lnk=gst&q=detect+desktop+browser#3ff10d8f35211739
Không có cái nào hoạt động, trừ khi bạn xóa tệp PhoneGap Javascript khỏi phiên bản máy tính để bàn của ứng dụng, điều này đã đánh bại mục tiêu của tôi là có một cơ sở mã.
Cho đến nay, giải pháp duy nhất mà tôi đưa ra là đánh hơi trình duyệt / tác nhân người dùng, nhưng điều này không mạnh để nói rằng ít nhất. Bất kỳ giải pháp tốt hơn được chào đón!
CHỈNH SỬA: Một giải pháp tốt hơn một chút là thử gọi hàm PhoneGap sau một khoảng thời gian chờ nhỏ - nếu nó không hoạt động, thì hãy giả sử người dùng đang sử dụng trình duyệt web trên máy tính để bàn.