Le browser definition di ASP.NET 4.0 non sono aggiornate e non riconoscono alcuni device introdotti dopo il rilascio della RTM, come ad esempio l'iPad. Nella costruzione di applicazioni per il mobile, molto spesso, diventa necessario poter individuare correttamente anche questo tipo di dispositivo (i tablet), per poter inviare una versione ad hoc del markup.
Per riconoscere i device, è necessario creare un file con estensione .browser. Nel frammento che segue, è contenuta la definizione che identifica lo user agent dell'iPad:
<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="false" /> <capability name="canInitiateVoiceCall" value="true" /> <capability name="isTablet" value="true" /> </capabilities> </gateway> </browsers>
Si può notare che abbiamo definito la proprietà IsMobileDevice come false, mentre ne abbiamo aggiunta una isTablet, impostata su true. Questo ci consente di individuare i tablet in maniera separata dai dispositivi mobile classici e sfruttare la maggior disponibilità di spazio che hanno a disposizione sullo schermo. La proprietà può essere interrogata così:
Request.Browser["isTablet"];
Questo file può essere salvato localmente, per ogni applicazione, in /App_Browsers/, oppure globalmente, in C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers.
Se registrato globalmente, è necessario eseguire questa istruzione sul server:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regbrowsers.exe
L'effetto sarà quello di registrare globalmente la definizione per tutte le applicazioni ASP.NET del server.
Link e riferimenti utili
Il nostro speciale sullo sviluppo web mobilehttps://www.aspitalia.com/focuson/1267/Speciale-Web-Mobile-Costruire-Applicazioni-ASP.NET-JQuery-Mobile.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Paginare i risultati con QuickGrid in Blazor
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Ottimizzare le performance usando Span<T> e il metodo Split
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Aggiornare a .NET 9 su Azure App Service
Sfruttare al massimo i topic space di Event Grid MQTT
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Migliorare l'organizzazione delle risorse con Azure Policy
Evitare il flickering dei componenti nel prerender di Blazor 8