2012-07-05 12 views
7

Ich möchte erkennen, ob ein mobiles Gerät ein Tablet (iPad) oder nicht in ASP.net ist Ich habe mir 51degrees Projekt angesehen, aber die Funktion zum Erkennen eines Tablet ist nicht in der kostenlose Version - und da wir unsere ASP.net-Lösung an 100 von Kunden verteilen, können wir keine 51-Grad-Lizenz für alle kaufen.Detect iPad mit ASP.net

Gibt es freie oder Open-Source-Alternativen für 51 Grad verfügbar? Oder bieten neuere Versionen von MVC (4?) Mehr Informationen im Detail als das einfache IsMobileDevice()?

Danke, Konrad

+0

Neuere Versionen werden Modernizr enthalten. – IrishChieftain

+4

Sie werden niemals mit der Geräteerkennung gewinnen. Neue Geräte werden viel zu oft eingeführt. Verwenden Sie stattdessen Feature-Erkennung und Medienabfragen. – jrummell

Antwort

4

Sie brauchen nicht auf "ein iPad erkennen". Verwenden Sie einfach Media Queries Sie für das iPad unterstützen zu geben, wie der Safari-Browser, der bereits mit iPad kommt versteht CSS3:

CSS3 Media Queries

/* iPads (landscape) */ 
@media screen and (min-device-width : 768px) 
    and (max-device-width : 1024px) and (orientation : landscape) { 
    ... 
} 
/* iPads (portrait) */ 
@media screen and (min-device-width : 768px) and (max-device-width : 1024px) 
    and (orientation : portrait) { 
    ... 
} 

Ihre beste Wette ist HTML5Boilerplate zu verwenden, wie es einige andere Dinge für iPad behebt ebenfalls. Verwenden Sie Modernizr für die Feature-Erkennung; es kommt mit HTML5Boilerplate.

HTML5 Boilerplate

20 Snippets You should be using from Html5 Boilerplate

+12

Wir benötigen eine serverseitige Erkennung des mobilen Geräts, da wir je nach Smartphone, Tablet, Desktop usw. eine komplett andere Seite verwenden ... Daher ist es bei Medienanfragen angenehm, denselben Inhalt in einem anderen Format anzuzeigen, aber nicht zur Auslieferung geeignet Vervollständige verschiedene Inhalte. – Konrad

+0

Sie können einfach verschiedene Inhalte mit CSS anzeigen und es ist die zuverlässigere Art, dies zu tun. DIV-Sichtbarkeit mit Anzeige umschalten: Block und Anzeige: keine. Agent Sniffing wird Sie oft im Stich lassen, wenn Sie es am meisten brauchen. – IrishChieftain

+0

Ich weiß - aber wir bieten eine völlig andere Navigationsstruktur für Telefon und Desktops. Anzeige von vielen Inhalten auf einer Seite für Desktop-Ergebnisse in vielen unterschiedlich verbundenen Seiten für Mobiltelefone ... Medienabfragen sind nett, aber sie sind nicht die Schweizer Armee Messer ;-) – Konrad

10

können Sie den User-Agent anfordern und überprüfen, um zu sehen, ob es wie so

'ipad' enthält
bool isIpad = Request.UserAgent.ToLower().Contains("ipad");