Archive for the ‘Google Chrome’ tag
Internet Explorer, select tag and onload
Another reason why I hate Internet Explorer.
All new browsers tend to cache form values. Nothing unusual up to here, a little annoying, but not unusual.
We have the following example:
<select id="select"> <option value=a>a</option> <option value=b>b</option> <option value=c>c</option> </select> <script> var checkSelected = function () { var element = document.getElementById('select'); alert(element[element.selectedIndex].value); } // run after onload window.onload = checkSelected; // run before onload checkSelected(); </script>
Load the page, select the third value and then refresh. Because no form was submitted the first impression is that the result will always be “a”. It seems it’s not really like that:
- FireFox: c c
- Google Chrome: a a
- Internet Explorer: a c
I can understand why FireFox choose to cache the values even when no form was submitted.
I can understand Google Chrome for not caching the page if the form was not submitted.
But Internet Explorer caches the values and them loads them only after the page was loaded? This is confusing to me! I mean you don’t have the option of not using onload? Not even if the form was not submitted?
This test was made on Internet Explorer 9 and compatibility view to versions 7 and 8.
JavaScript debugging cu Venkman
Nu stiu daca mi se pare mie sau chiar sunt foarte putine instrumente pentru asa ceva? Google Chrome are niste unelte foarte interesante pentru urmarirea proceselor JavaScript, iar probabil la polul opus se afla Internet Explorer cu niste mesaje deosebit de generice (si suficient de inutile) cu privire la erorile gasite.
Dar de multe ori nu sunt erori de cod ci erori de logica.
Dar sa revenim la Venkman, acesta ofera posiblitatea de a urmarii executia pas cu pas, de a opri un script sau de a continua. Imi aduce aminte de uneltele din Visual Studio pentru C++, evident nu este la nivelul acela dar este un mare pas inainte pentru JavaScript.
In ultimele luni am incercat sa fac mici joculete in JavaScript, iar o astfel de unealta mi se pare foarte utila pentru a urmarii executia pas cu pas.
Oricum mi se pare ca JavaScript a devenit doar de putin timp apreciat la adevaratul potential, iar aceste unelte aduc limbajul la nivelul la care merita.
Un browser pentru Web 2.0
Cu cat lucrezi mai mult cu el, cu atat parca devine mai fascinant. O interfata simpla cu nici un buton mai mult decat cele de care este neaparata nevoie.
Ce este in spatele acestuia este cu adevarat fascinant. Browserul este deosebit de rapid, foloseste webkit pentru randare, ceea ce inseamna ca este compatibil cu browserul Saffari de la Apple. Cu alte cuvinte, aplicatiile nu trebuie sa ia in calcul un alt browser, ci doar sa fie compatibile cu browserul de la Apple.
Viteza este un plus foarte mare pentru acest browser, personal de cand a aparut firefox 3 nu credeam sa apara un browser mai rapid dar… este adevarat, se poate si mai bine!
Un alt element de noutate foarte interesant este izolarea proceselor din tab-uri. La celelalte browsere care suporta tab-uri, in general cand un tab crapa, tot browserul va ceda. In Chrome, cedeaza doar tab-ul respectiv, restul ramanand functional.
Izolarea nu se face doar la nivel de tab ci chiar la nivel de proces, cu alte cuvinte scripturile JavaScript, Flash-ul, etc toate ruleaza in propriul proces, rezultatul? Cand un proces cedeaza nu cedeaza tot tab-ul, ci doar acel proces izolat.
O unealta noua pentru debuging este “Task managerul”, care permite urmarire fiecarui proces in particular.
Interpretarea JavaScript se bucura probabil de cele mai multe avantaje in acest browser. Scripturile JavaScript nu sunt interpretate ci sunt precompilate inainte de rulare rezultand intr-o mult mai buna viteza fata de vechiul sistem.
Concluzionand, google a facut o treaba buna din nou chiar daca este doar o versiune beta.
Dupa cum stiti aparut versiunea 3 a browserului Firefox. O versiune mult imbunatatita pentru un browser care era deja in top (pacat ca nu si la numarul de utilizatori). Acum tot ce astept este versiunea 8 de la IE, personal nu consider IE 7 o versiune “revolutionara”, ci doar putin inbunatatita. Microsoft trebuie sa reactioneze daca vrea sa pastreze monopolul in acest domeniu, lumea are tendinta sa se orienteze catre alte browsere, iar cu noiile faciltati de la concurenta nu mai este mult pana cand singurul motiv pentru care cineva mai foloseste IE este din comoditate.