2009. március 8.

Miért rossz az Internet Explorer?

Végre rászántam magam, hogy összeszedjem egy helyre az indokokat. Így egyszerűen újrafelhasználható, ha valakinek el kell magyarázni :)

Előrebocsátom, hogy nem vagyok elvakult Microsoft-utáló. Sőt, semmi bajom a Microsofttal, sem Billel, sem a Windowsokkal. Cégnél használok Windows XP Professionalt, 64 bites Windows Vistát, itthon pedig többnyire Ubuntut, de van Windows XP Home-om is. Egyikkel sincs semmi bajom.

Mindezek tisztázása után: határozott véleményem, hogy aki hosszabb ideje komoly netizennek vallja magát, és még mindig Internet Explorer 6-ot használ, az veszélyesen szűklátókörű, tájékozatlan és közveszélyes. Ugyanez nagyrészt igaz az IE7/8-ra is, bár úgy tűnik, a helyzet némileg javulgat. Le kéne venni a szemellenzőt végre: tények következnek. (Valamint nem szorosan ide tartozik, de megjegyzem, hogy mindegyik operációs rendszerem legális. Aki frissítések nélkül használja bármilyen oprendszerét, az minősítetten közveszélyes. Lásd biztonsági rések, zombihálózat, stb.)

Konklúzió: sok új és hasznos szabvány nem képes terjedni, sok jó és hasznos funkciót nem lehet használni, mert az oldalaknak visszafele kompatibiliseknek kell lenniök az IE6/7/8 családdal. A webfejlesztők idejük jelentős százalékában kénytelenek az IE-kompatibilitással vesződni, nem szabványos és ronda kódot készíteni, kerülőutakat és hackeket használni, és eszközkészletük szép hányadát elfelejteni IE-támogatás hiányában. Súlyos kompromisszumok egy szar program miatt, ami akadályozza a web fejlődését. (A norvégok meg is próbálnak tenni ez ellen.)

Szemellenzősnek lenni persze nem kötelező, mindenki szabadon válthat Operára, Firefoxra, Safarira, Chromera, stb. Vagy legalább Internet Explorer 8-ra. Rengeteg webböngésző létezik ám, akinek pedig az internet csak IE6/7-ből áll: inkább kapcsolja ki a gépet, és menjen olvasni. Vagy kezdjen kőbaltát használni.

(Persze mindezeket egy átlagfelhasználónak nem kell tudnia, mert honnan is tudná. De ha valaki elmagyarázza nekik a tényeket, és utána még nekik áll feljebb; vagy okoskodnak, miközben nem értenek hozzá, akkor azt már butaságnak hívják. Sajnos nem gyógyítható.)

Update: egy raklap ide tartozó komment a hupon.

2009. március 7.

JavaScript & ActiveX & IE7/8

Összedobtam egy kis intranetes oldalt a cégnél, ami kiváltja a Novell ConsoleOne-t ZENworks távmenedzsment használatakor. Pontosabban Novelles ActiveX vezérlő segítségével lekérdezi eDirectoryból a workstation objektumokat, majd hozzátársítja MySQLes adatbázisból a neveket, és végül a felszedett adatok alapján a célt kiválasztva megfelelően felparaméterezve direkt el tudja indítani az RCConsole.exe-t. Így a böszme Javas C1 nélkül lehet kényelmesen távirányítani számítógépeket. (Amivel én duplán nyertem, mert a ConsoleOne nem működik Vistán, és a novell szerint nem is fog.)

Két csúnya szívatás volt a dologban: az NWIDirQ.dll objektum tulajdonságainak lekérdezésekor tömbben adja vissza az eredményt, aminek egyszerűen nem bírtam elérni az elemeit. Debugolni meg IE-ben nem nagyon van épkézláb lehetőség. Sok keresgélés után kiderült, hogy a Microsoft Visual Web Developer Express (szép neve van) az én barátom (~1,5 GB értékben). Hiba elcsípve: hiába JavaScriptből hegesztek, VisualBasic tömböt kapok vissza, amivel a JS nem tud mit kezdeni. Szerencsémre JScriptben van erre megoldás: a VBArray objektum, ami elkapja az eredményemet, és a toArray() metódusa átkonvertálja JavaScript tömbbé. Mindjárt más érzés.

Második felvonás: cégnél 64 bites Vistám van, amihez felraktam a 64 bites MySQL ODBC konnektort. Ami nem működik 32 bites IE-ben. A 32 bites Novell ActiveX vezérlő meg 64 bites IE-ben nem. A 32 bites MySQL konnektor pedig telepítés után látszólag nincs is. Vagy mégis: Vista 64-ben kettő odbcadm van, egy 64 bites közszemlén, és külön egy 32 bites eldugva. Ravasz.

Források: BernieCode, Postgres & EnterpriseDB Database News