Xin lỗi, tôi sẽ tự mình thử nghiệm, nhưng hiện tại tôi không có mac của mình. Liệu một yêu cầu web được thực hiện bên trong một UIWebView có gửi cùng một thông tin tác nhân người dùng mà một yêu cầu web được tạo từ Safari di động không?UIWebView có gửi cùng một tác nhân người dùng trong Tiêu đề yêu cầu dưới dạng Safari trên thiết bị di động không?
28
A
Trả lời
31
Yêu cầu web được thực hiện từ UIWebView sẽ không bao gồm từ "Safari" trong chuỗi Tác nhân người dùng. Yêu cầu web được thực hiện từ Mobile Safari sẽ. Đây là cách tốt nhất mà tôi đã tìm thấy để xác định yêu cầu đến từ bên trong ứng dụng hoặc từ Mobile Safari.
Mẫu User Agent từ UIWebView trong App:
User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile
Mẫu User Agent từ Mobile Safari:
User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari
11
di động Safari chuỗi user agent độc chứa từ 'bản', trong khi user agent UIWebView chuỗi không. Do đó, tập lệnh phát hiện có thể được sửa đổi để hoạt động với phiên bản iOS mới nhất như sau:
var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)/i.test(navigator.userAgent);
Các vấn đề liên quan
- 1. Tác nhân người dùng Chrome dành cho iOS trên iPad
- 2. Tác nhân người dùng WebView
- 3. Yêu cầu tùy chọn trang web trên máy tính để bàn trên thiết bị di động
- 4. Gửi tiêu đề tùy chỉnh cùng với yêu cầu qtwebkit
- 5. Tác nhân người dùng unicode có hợp pháp bên trong tiêu đề HTTP không?
- 6. IE 11 gửi tiêu đề Tác nhân người dùng khác nhau đến các tên miền phụ khác nhau
- 7. Đặt tiêu đề yêu cầu trong JavaScript
- 8. Người dùng di động JQuery cuộn xuống dưới cùng
- 9. Ứng dụng Facebook iOS không chuyển hướng đến Safari trên thiết bị di động sau fbauth //
- 10. Đề xuất giao diện người dùng trên thiết bị di động Windows
- 11. Có thể yêu cầu Safari lặp lại tiêu đề bảng trên các trang đã in không?
- 12. Tác nhân người dùng Android HTTP
- 13. Trong tiêu đề tác nhân người dùng HTTP của Android, "U" nghĩa là gì?
- 14. RabbitMQ người tiêu dùng theo yêu cầu?
- 15. Chọn văn bản trong Safari trên thiết bị di động trên iPhone
- 16. Tôi có nên sử dụng tiêu đề tùy chỉnh hoặc tiêu đề người dùng để gửi thông tin thiết bị đến máy chủ
- 17. URL yêu cầu HTTP có phải là một phần của tiêu đề yêu cầu HTTP không?
- 18. Mở Safari trên thiết bị di động từ một Liên kết trong một WebView
- 19. đặt tiêu đề yêu cầu thiết lập trong selenium
- 20. Đang cố gắng để có được tác nhân người dùng từ yêu cầu trong trang web api tự host api
- 21. Cách nhận dạng tác nhân người dùng Facebook
- 22. UIWebView sẽ không di chuyển đến cuối cùng/dưới
- 23. Yêu cầu mở trong Safari với tiêu đề HTTP tùy chỉnh
- 24. Số phát hành sự kiện trên thiết bị di động Safari
- 25. cách giữ tiêu đề và chân trang trên thiết bị di động được cố định?
- 26. Tiêu đề yêu cầu HTTP tùy chỉnh trong HTML
- 27. Có thể gửi tiêu đề tùy chỉnh với yêu cầu XHR ("Ajax") không?
- 28. Tác nhân người dùng CURL
- 29. Tác nhân người dùng tùy chỉnh cho HttpClient?
- 30. Có thể hiển thị ứng dụng Facebook dưới dạng Tab trang trên thiết bị di động không?
Chế độ xem web của Android gửi tiêu đề http "X-Requested-With". Trình duyệt đứng một mình thì không. UIWebView của iPhone có thực hiện điều này không? xem http://stackoverflow.com/a/15254092/90236 –
Thật không may câu trả lời này không thành công với các iO Chrome. Đây là những UAs cho Safari và Chrome. Cả hai đều chứa "Safari" ——— 'Mozilla/5.0 (iPhone; Hệ điều hành iPhone iPhone 7_1_1 như Mac OS X) AppleWebKit/537.51.2 (KHTML, như Gecko) Phiên bản/7.0 Mobile/11D201 Safari/9537.53' ——— 'Mozilla/5.0 (iPhone; Hệ điều hành iPhone iPhone 7_1_1 như Mac OS X) AppleWebKit/537.51.1 (KHTML, như Gecko) CriOS/35.0.1916.38 Mobile/11D201 Safari/9537.53' –
@ bfred.it Tôi không hiểu bình luận của bạn. Câu hỏi không liên quan gì đến việc phân biệt các trình duyệt di động khác nhau với nhau. Chỉ từ việc phân biệt UIWebView được nhúng từ trình duyệt tích hợp sẵn. – Johann