Windows Mobile 6.0 e AJAX
Molti sono i miglioramenti in Internet Explorer su Windows Mobile 6.0, primo fra tutti il supporto per AJAX che si può riassumere in:
1) Supporto per prototype (method/value) anche conosciuto come "expando"
2) document.createElement
3) Aggiunta e rimozione di elementi dal document tree
4) Feature detection dei metodi esposti dagli script
IE Mobile 6 (6.12 per esattezza) supporta anche molte delle feature di ASP.NET AJAX. Il problema è che se provate anche la pagina più semplice con ASP.NET AJAX su IE 6 Mobile non funziona nessuna delle caratteristiche :-)
L'arcano è semplice da spiegare: ASP.NET 2.0 non conosce IE 6 Mobile e quindi lo tratta come un browser dalle scarse caratteristiche (questo vale anche per i validation control e altre feature client side). Il sistema è lo stesso di sempre: aggiornare il browserCaps. Nella versione 2.0 si può agire sui file .browser globali oppure aggiungendo un file .browser nella directory app_browsers dell'applicazione. In entrambi i casi la definizione da aggiungere è la seguente:
<
browsers>
<
browser id="IEMobile" parentID="WinCE">
<
identification>
<
userAgent match="IEMobile (?'version'\d+\.\d+)" />
</
identification>
<
capabilities>
<
capability name="browser" value="IEMobile" />
<
capability name="version" value="${version}" />
<
capability name="w3cdomversion" value="1.0" />
</
capabilities>
</
browser>
<
browser id="IEMobileNotAtlasCapable" parentID="IEMobile">
<
identification>
<
capability name="version" match="6\.8" />
</
identification>
<
capabilities>
<
capability name="w3cdomversion" value="0.0" />
</
capabilities>
</
browser>
</
browsers>