2010-06-06 18 views
6

Tôi đang làm việc trên một số phát hiện trình duyệt nâng cao và tôi đã tải xuống tệp trình duyệt MDBF từ CodePlex.Request.Browser.Platform không trả lại iPad, OSX hoặc Windows7

Thật không may Request.Browser.Platform của tôi, cùng với một vài thứ khác đang trở lại "Unknown" trên cả iPad Mac OSX của tôi (Snow Leopard) và trên Windows7

Có ai biết của một tập tin .browser tiên tiến tốt có điều tương tự cho các thiết bị di động không như MDBF thực hiện cho các thiết bị di động không?

Trả lời

9

Tôi đã giải quyết vấn đề cụ thể của tôi (phát hiện iPad) với tệp sau trong thư mục App_Browsers của ứng dụng của tôi:

<browsers> 
    <!-- Mozilla/5.0 (iPad; U; CPU OS 4_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C134 Safari/6533.18.5 --> 
    <gateway id="IPad" parentID="Safari"> 
    <identification> 
     <userAgent match="iPad" /> 
    </identification> 

    <capabilities> 
     <capability name="mobileDeviceModel"    value="IPad" /> 
     <capability name="mobileDeviceManufacturer"  value="Apple" /> 
     <capability name="isMobileDevice"     value="true" /> 
    </capabilities> 
    </gateway> 
</browsers> 

Sau đó, trong đoạn code tôi thử nghiệm:

if (Request.Browser.MobileDeviceModel == "IPad") 
    ... 
+0

Tôi thích: if (Request.Browser.MobileDeviceManufacturer! = "Apple") – Softlion

1

Sử dụng Request.UserAgent để thay thế.

Beware rằng nó bao gồm từ Mobile cũng như:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) 
    AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 
    Mobile/7B367 Safari/531.21.10 


Từ Apple trên chuẩn bị nội dung cho iPad:
http://developer.apple.com/safari/library/technotes/tn2010/tn2262/index.html

+5

Đây là tất cả tuyệt vời, nhưng tôi thực sự thích sử dụng 'cái file .browser'. Có một tập tin trình duyệt được duy trì cho loại điều này? Tôi sẽ trả tiền để hỗ trợ một dự án tốt hơn là duy trì dự án của riêng tôi hoặc hack thông tin ra khỏi UserAgent. Khi thiết bị mới được phát hành, vấn đề này sẽ chỉ leo lên một lần nữa và một lần nữa. –

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