Claudiu Persoiu

Blog-ul lui Claudiu Persoiu


Archive for the ‘Google Chrome’ tag

Internet Explorer, select tag and onload

without comments

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.

Written by Claudiu Persoiu

9 October 2011 at 2:09 PM

JavaScript debugging cu Venkman

without comments

Din ciclul unelte utile dar nepromovate, in aceasta seara avem o mica unelta numita Venkman. Unealta este realizata ca extensie pentru FireFox si se foloseste pentru debugging a codului JavaScript.

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.

Written by Claudiu Persoiu

18 April 2009 at 12:05 AM

Un browser pentru Web 2.0

without comments

Zilele trecute Google a lansat Google Chrome. Un browser construit dupa “imaginea” google, simplu pana la extrem. Aparent nimic nou sub soare, nu?

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.

Written by Claudiu Persoiu

5 September 2008 at 7:28 PM