Magyar Opera

Címkék » javascript


Operások írták - oldalak hibáinak javítása

Az Operának régóta sok gondot okoznak a nem szabványos, böngészőspecifikusan megírt, vagy éppen elavult oldalak. Ez ellen sokféle módon próbálnak védekezni, ma az oldalakat betöltődés közben javító browser.js-ről lesz szó.

Ez a bejegyzés az "Opera's site patching" című cikk fordítása. Az eredeti cikk 2009. április 7-én jelent meg a Core blogon.

Tudod, a web technológiák komplexitása kezelhetetlenné válik, amikor minden egyes oldal valami egyedi kezelést igényel. Képzeld el, milyen lenne az autóvezetés, ha minden új utcába bekanyarodáskor kicsit bütykölni kellene a motoron, vagy le kellene cserélni a kerekeket. A böngészőfejlesztés sokban emlékeztet erre napjainkban.

Szinte minden modern böngésző rendekezik valamilyen oldal-hibamentesítő eljárással arra az esetre, ha meg kell kicsit olajozni web kiszámíthatatlan elemeinek kitett szabványok fogaskerekeit:

  • az IE8 egy kompatibilitási lista alapján IE7 módban jelenít meg bizonyos oldalakat
  • a Google Chrome álcázza magát a Hotmail-en
  • a Safari homályos, dokumentálatlan trükköket alkalmaz
  • a Firefoxnak úgy tűnik, csak a böngészőazonosító-váltó kiterjesztése van - de az eléggé népszerű
  • az Opera álcázást és browser.js-t használ

Minden oldalt külön kezelni? Elég őrülten hangzik. Egyértelműen lehetetlen. Kezdőknek: több milliárd weboldal létezik és mind különböző. És változnak is, hiszen millió sornyi kódot adnak hozzá, és cserélnek le minden áldott nap. Hogyan lehet ezzel egyáltalán lépést tartani? Mellesleg nem a szabványoknak kellene a megoldást szolgáltatniuk?

Tovább...

Carakan - sebességet vált a JavaScript

Egészen a közelmúltig az Opera büszkén hirdette, hogy az övék a leggyorsabb JavaScript motor a piacon. Jelenleg is ez található meg az Operában, a 9.5-ös szériában, és a 10-es verzió előzeteseiben egyaránt. Ennek a motornak a fejlesztési kódneve Futhark (a rúnaírás egy észak-európai változata).

A Futhark a maga idejében valóban a leggyorsabb motornak számított annak ellenére, hogy a fejlesztése során a legfontosabb szempont nem a sebesség, hanem sokkal inkább az alacsony memóriahasználat és a kis kódméret volt. Az Opera ugyanis sok olyan eszközben is felhasználta, ahol az erőforrások igencsak korlátozottak, a motor ennek ellenére meglepő sebességről tett tanúbizonyságot. Egészen a közelmúltig nem is volt vele különösebb probléma. A Chrome és a Firefox 3 megjelenése viszont rendesen felkavarta az állóvizet, mivel új, soha nem látott sebességeket értek el saját JavaScript motorjaikkal, és azóta is lelkesen fejlesztik azokat. Ráadásul a WebKit készítői sem tétlenkednek, az internetes fórumok pedig ma már a V8, Tracemonkey és Squirrelfish ütközeteinek zajától hangosak.

Az Opera a régi motorral már csak a sor végén kulloghat (az Internet Explorert leszámítva), ráadásul az új, gyors motorok elterjedésével egyre több oldal ki is használja a nagyobb sebességből fakadó előnyöket. Nem lehet lazán legyinteni, hogy csak néhány milliszekundumról van szó: a Gmailhez hasonló komplex oldalakon tisztán érezhető a különbség.

A fejlesztői blogon olvasható mai bejegyzés alapján azonban az Opera felveszi a kesztyűt. Az utóbbi hónapokban ugyanis titokban egy új ECMAScript motort fejlesztettek, ami a Carakan nevet kapta. Az Opera ugyanis régi írásformák neveit adja  JS motoroknak, mint Linear A, Linear B vagy a már említett Futhark, míg a Carakan egy jávai írásforma neve.

Tovább...

Javascript és AJAX támogatás az Opera Miniben

Ebben a cikkben az Opera Mini 4 Javascript támogatásáról lesz szó, így inkább technikai jellegű. Ha az Opera Mini újdonságai és funkciói érdekelnek, ezt olvasd el.

Az Opera Mini egyszerű, de nagyon hatékony koncepciót használ a weblapok megnyitására, ezért lehetséges, hogy pár ezer forintos, régi telefonokon is képes futni és megjeleníteni szinte a teljes webet. A módszer lényege abból áll, hogy amikor meg akarunk nyitni egy weblapot az Opera Miniben, az küld egy kérést az Opera központi szerverére. A szerver letölti a kért weblapot, és átalakítja OBML (Opera Binary Markup Language) formátumra, amely egy speciális, az eredeti weblap méretéhez képest akár 90%-kal tömörített csomag, majd ezt visszaküldi a telefonnak. Fontos még tudni, hogy a telefon és a szerver között a kapcsolat mindig biztonságos, mind HTTP, mind HTTPS esetében.

Ez nagyszerűen működik HTML és CSS esetében, sőt az Opera Mini 4 szerverei már az Opera 9.5 motorját használják, így képesek egyes CSS3 szelektorokat is értelmezni, amelyekkel még nem sok böngésző boldogul. De mi a helyzet a Javascripttel? Ebben az esetben a történet már közel sem ilyen egyszerű.

A következőkben bemutatjuk, hogyan értelmezi a Javascriptet az Opera Mini, a szerver- és a kliens oldalt, valamint az AJAX támogatást.

Tovább...
süti beállítások módosítása