Category Archives: Windows 8

IE11 User-Agent string

A Windows 8.1-ben megjelenő Internet Explorer 11-hez tartozó User-Agent string (ez az, amit a HTTP kérésben a böngésző felküld a szervernek) a következő:

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

Akkor lesz nyilvánvaló, hogy mi ebben az érdekes, ha összehasonlítjuk a korábbiakkal, például az IE10 és az IE9 azonosítójával:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

A formátum tehát teljesen megváltozott, sőt az MSIE jelölés teljesen eltűnt! Ez akkor okozhat gondot, ha valamilyen kliens vagy szerver oldali kódunkba böngészőfüggő viselkedést írtunk, ugyanis a régebbi kódunk nem biztos, hogy jól fogja felismerni az új böngészőt.

Az ASP.NET platformban is vannak olyan részek, amik tekintettel vannak a kliens böngészőjére, és sajnos korábban már volt rá példa, hogy egyes funkciók nem jól működtek az újabb böngészőkkel.

Szerencsére az ASP.NET böngésző detektáló része a .browser fájlok segítségével rugalmasan alakítható, amit az is jól mutat, hogy Windows 8.1-en a C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers mappában található ie.browser fájl már az új User-Agent stringnek megfelelő részt is tartalmaz:

<browser id="InternetExplorer" parentID="Mozilla">
   <identification>
     <userAgent match="Trident/(?'layoutVersion'[7-9]|0*[1-9]\d+)(\.\d+)?;(.*;)?\s*rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)))" />
     <userAgent nonMatch="IEMobile" />
     <userAgent nonMatch="MSIE " />
   </identification>
   <capabilities>
     <capability name="browser"              value="InternetExplorer" />
     <capability name="version"              value="${version}" />
     <capability name="majorversion"         value="${major}" />
     <capability name="minorversion"         value="${minor}" />
     <capability name="layoutEngine"         value="Trident" />
     <capability name="layoutEngineVersion"  value="${layoutVersion}" />
     <capability name="type"                 value="InternetExplorer${major}" />
   </capabilities>
</browser>

A tapasztalatunk az, hogy érdemes tesztelni az új böngészővel a régi webalkalmazásokat, még akkor is, ha a saját kódunkba nem írtunk böngészőfüggő részeket, mert a platform is tartalmaz ilyeneket. Különösen akkor érdemes odafigyelni, ha a szerver oldalon még ASP.NET 4.0 van, tehát nem a legfrissebb 4.5 (amit az in-place upgrade miatt nem mindenhol mernek telepíteni).

Egy következő cikkben írok majd néhány konkrét ASP.NET-es problémáról, amibe belefutottunk IE11-gyel.

 

Technorati-címkék: ,,

Egyetlen URL a Dashboardokhoz

Nem tudom, hogy más hogy van ezzel, de engem zavar, hogy a Windows 8 és a Windows Phone alkalmazások fejlesztésénél 2 URL-t kell fejben tartanom:

Persze az MSDN nyitóoldalról mindent el kellene tudnom érni, de nekem ez még a redesign után sem sikerül. (A hiba valószínűleg nem bennem van, mert ez a probléma újra és újra előjön levelezőlistákon.)

Ezért az utóbbi időben rászoktam a http://www.windowsstore.com/ címre.

Ha a Windows 8 Dashboard kell, akkor a jobb felső sarokban lévő Visit the Dev Center linkre kattintva bejövő oldalon a felső menüben már van Dashboard link.

Ha Windows Phone kell, akkor a fejlécben átkattintok a Windows Phone ikonra, majd azon az oldalon jobb felül Visit the DevCenter, és végül Dashboard.

Érdemes megnézni a linkek mögött szereplő URL-eket és domain neveket. Nagyon kreatívak, de a logikát nem látom bennük.

Ez még így is 3 kattintás, de legalább csak 1 címet kell fejben tartanom. Tud valaki egyszerűbb megoldást?

 

Tesztelés több Internet Explorer verzión

Gyakran visszatérő kérdés, hogy hogyan lehet kényelmesen több Internet Explorer verzión tesztelni a weboldalunkat. A kérdés azért izgalmas, mert míg más böngészőket lehet  több verzióban egymás mellé telepíteni, addig az Internet Explorernek – mivel össze van nőve az operációs rendszerrel – csak egy verziója lehet a gépünkön.

Korábban írtam már erről, azonban azóta a lehetőségeink csökkentek:

Az IETester ugyan támogatja a Windows 8-at és az IE10-et, de elég lassan fejlődik, és a hiányosságai továbbra is megmaradnak.

A Microsoft Expression SuperPreview-t az egész termékcsaláddal együtt süllyesztőbe küldte a cég, nem fejlesztik tovább.

Az Internet Explorer Developer Toolbar jelentősen megváltozik. A Windows 8.1-ben megjelenő IE11-ben egy teljesen újraírt F12 DevToolst találunk, megújult dizájnnal és számos új funkcióval, azonban pont  a kompatibilitási tesztek terén van egy fájó pont. Korábban ugyanis – egészen az IE10-ig – volt egy remek funkció a Dev Toolbaron a korábbi böngészők emulálására:

IE10 Developer Toolbar: Browser Mode emulation

Ez egyszerűnek és jónak tűnik, csakhogy van vele pár gyakorlati probléma. Először is van mellette egy Document Mode választó is, nagyon hasonló opciókkal:

IE10 Developer Toolbar: Document Mode emulation

IQ-ból nem egyszerű rájönni, hogy melyik mire szolgál, de az IEBlog Testing Sites with Browser Mode vs. Doc Mode című cikkében értelmesen le van írva. Persze ez csak azoknak segít, akik elolvassák.

A másik probléma ezzel a megoldással, hogy sajnos nem teljesen tökéletes. A legtöbb kompatibilitási problémát valóban meg lehet találni vele, de mi is futottunk bele számtalan olyan esetbe, amikor a Dev Toolbaros verzió váltással nem találtunk meg egy hibát, ami viszont egy IE8-on előjött. Magyarul a módszer nem megbízható.

Mindezeket átgondolva az IE csapat úgy döntött, hogy az IE11-ben ezt a funkciót megszűntetik. Így néz ki az új Dev Toolbar Emulation füle:

IE11 Developer Toolbar Emulation tab

Látható, hogy számos új funkció megjelent, van például Desktop és Windows Phone Profile, már nem csak felbontást, hanem tájolást is lehet állítani, sőt van GPS szimuláció is. A böngésző verziókkal kapcsolatban van ugyan egy User Agent string kamuzó opció, sőt van egy Document mode is (ami lehet Edge vagy Default), de nem tudjuk átkapcsolni a böngésző motorját a korábbi verzió motorjára.

Mi a megoldás?

Az információ ikonra kattintva a modern.IE webhelyre juthatunk, azon belül is a Test Across Browsers oldalra, ahol két megoldás találhatunk:

1. A Microsoft a http://www.browserstack.com szolgáltatásait ajánlja, amihez 3 hónapos ingyenes hozzáférést biztosít. Ez az ajánlat 2014. január 10-ig érvényes!

2. Letölthetünk egy rakás előre konfigurált virtuális gépet. Csak a hoszt operációs rendszert és a virtualizációs platformot kell kiválasztanunk és máris tölthetjük lefelé az adott IE verzióval konfigurált Windowsos virtuális gépet:

modern-ie-vms

A Microsoft aktuális álláspontja szerint a virtuális gépek használata a legmegbízhatóbb megoldás a webes megoldások korábbi IE verziókban történő tesztelésére, és ehhez most minden eszközt meg is kapunk.

Ami pedig a jövőben megjelenő verziókat illeti, a javaslat természetesen a szabványok követése. Kezdetnek érdemes elolvasni Rey Bango és Dave Methvin 20 tippjét a modern weboldalak kontra régi IE verziók témában.

 

Technorati-címkék: ,,

Outlook Web App nem csak light verzióban IE 11 alatt

Aki frissített Windows 8.1-re és megpróbálta elérni az OWA-t Internet Explorer 11 alól, az valószínűleg szomorúan tapasztalta, hogy csak “light version”-ben hajlandó működni:

owa-light

Ez azért kínos, mert a light verziót pont a kőkorszaki böngészőkre találták ki, az IE11 viszont igen csak modern böngészőnek számít, még akkor is, ha csak preview állapotban van.

A megoldás, hogy az adott webhelyet compability mode-ban jelenítjük meg. Erre egyik lehetőség, hogy felvesszük a webhelyet a Compatibility List-re a Tools –> Compatibility View Settings ablakban:

compatibility-view-settings

Ez nálam annyira nem jött be, mert csak a top-level domain kerül be a listába. Így aztán kihasználtam, hogy az első jelölőnégyzet szerint az intranet oldalak alapértelmezés szerint kompatibilitási nézetben jelennek meg, és felvettem az OWA címét az Intranet zónába tartozó webhelyekhez a Tools –> Internet Options –> Security –> Local intranet –> Sites –> Advanced ablakban.

Fórum bejegyzések szerint hasonló probléma van az Office 365-tel és néhány népszerű weboldallal, például a GitHubbal is.

 

Technorati-címkék: ,,

Még egyszer a Windows és a Visual Studio verziókról

Korábban már röviden írtam arról, hogy az egyes Windows és Visual Studio verziók nem minden kombinációban szeretik egymást. Kis kiegészítés:

A Visual Studio 2012 (ha Windows 8-on vagy 8.1-en fut) továbbra is támogatja Windows Store alkalmazások készítését Windows 8-ra. Nem támogatja viszont Windows 8.1-re készülő Windows Store alkalmazások létrehozását vagy szerkesztését. A Windows 8-ra készülő alkalmazások tökéletesen működnek Windows 8.1 alatt is, csak éppen nem tudják kihasználni az új funkciókat, vagy a teljesítmény javulást.

A Visual Studio 2013 (amiből egyelőre a Preview érhető el), amennyiben Windows 8.1-en fut, támogatja Windows 8.1-re készülő Windows Store alkalmazások létrehozását és szerkesztését. Támogatja a Windows 8-ra készülő Windows Store alkalmazásokkal való munkát is, de olyan projekt sablonokat nem tartalmaz, amivel új, Windows 8-ra készülő projektet lehetne létrehozni. Ha viszont a Visual Studio 2013 Windows 8-on fut, akkor nem támogatja a Windows Store alkalmazások készítését, függetlenül attól, hogy az alkalmazás Windows 8-ra vagy 8.1-re készülne.

Ez várhatóan így marad a Visual Studio végleges változatával is.

Cserébe a jó hír, hogy a Visual Studio 2012 és a 2013 telepíthető egy gépre egymás mellé (side-by-side).

 

Technorati-címkék:

Windows 8.1 Assigned Access

A Windows már sok verzió óta beállítható úgy, hogy a belépett felhasználó csak egyetlen alkalmazást futtathasson, így alkalmas operációs rendszer lehet nyilvános terminálok (angolul “kiosk”) számára. Ennek a funkciónak kényelmesebben adminisztrálható és továbbfejlesztett változata az eredetileg Kiosk Mode, újabban Assigned Access néven futó szolgáltatás a Windows 8.1-ben, amely valahogy így nézett ki a preview előtt kiszivárgott buildekben:

windows81-assigned-access

A preview változatban ne keressétek, nincs benne, de az elkészült termékben benne lesz.

 

Technorati-címkék:

Internet Explorer 11 Developer Tools

A Windows 8.1-ben természetesen új Internet Explorer is jön, aminek lehet örülni (nekem jelentősen gyorsabbnak tűnik), és amin persze lehet szomorkodni is (bővíthetjük a teszt mátrixokat).

Akármennyire is hozzá vagyunk szokva más böngészőkhöz, vagy azok fejlesztői funkcióihoz, az új IE Developer Toolst mindenképp érdemes kipróbálni. És nem csak azért, mert ütősebben néz ki:

ie11-devtools

Hanem természetesen a funkciók miatt is. Sorban az ikonok:

  • DOM Explorer
  • Console
  • Debugger
  • Network
  • UI Responsiveness
  • Profiler
  • Memory
  • Emulation

Persze a korábbi DOM Explorer és a Network fül is fejlődött, de az új fülek a különösen izgalmasak. Azt hiszem elég egyértelmű, hogy milyen irányba mutatnak.

Később még írok róluk bővebben.

 

Technorati-címkék: ,