Firefox 13 – a dlaczego by nie

Niektórzy użytkownicy wypatrują na horyzoncie pojawienia się zapowiadanego na 5 czerwca nowego Firefox 13, a okazuje się, że pod nosem mamy przypuszczalnie finalną kompilację 13 wersji tej lubianej przez wszystkich przeglądarki. A uściślając, dostęp do Firefoksa 13 mogą uzyskać użytkownicy Ubuntu 10.04/11.04/11.10/12.04 oraz Mint 9/10/11/12/13, po dodaniu do systemu repozytorium ppa:ubuntu-mozilla-security/ppa. Różnica między tym repozytorium a innymi (choćby ppa:ubuntu-mozilla-daily/firefox-aurora), jest taka, że w repozytoriach *-daily Firefox już zmierza przed siebie z przyczepionym do pleców numerkiem 14. A nie każdemu uśmiecha się pracować na dziennych kompilacjach. Zatem:

sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa
sudo apt-get updatesudo apt-get upgrade

A jakich nowości możemy się spodziewać?

  • odmieniona domyślna strona startowa – na samym dole znajdziemy pasek z przyciskami kierującymi bezpośrednio do Historii, Synchronizacji, Pobranych plików, Dodatków, itp.,
  • pusta, nowo otworzona karta umożliwi szybki dostęp do najczęściej odwiedzanych witryn,
  • szybszy start przeglądarki podczas przywracania grupy kart (w końcu nie wczytują się wszystkie na raz),
  • domyślnie włączony protokół SPDY,
  • domyślnie włączone płynne przewijanie,
  • sporo dodatków, poprawek i ciekawostek dla deweloperów,
  • przycisk Reset Firefox (Pomoc -> Informacje dla pomocy technicznej)
  • Funkcja przycisku Reset może się wydać nad wyraz niepokojąca, lecz bez obaw – reset przeglądarki nie usuwa haseł, zakładek, ciasteczek, historii, danych formularzy.

    Liczba zmian może nie wydawać się imponująca, jednak biorąc pod uwagę przyśpieszenie w numeracji i częstotliwości nowych wersji oraz przydatności zmian – można bić brawo ekipie Mozilli. 

    4 komentarze

    1. dhorze – ten firefox o ktorym piszesz ma zrąbany silnik javascriptu. lepiej nie informuj ludności póki oficjalna wersja nie ujrzy światła dziennego by nie zniechęcać do tej super k… super przeglądarki.

    2.  Dzięki za czujność, ale możesz podać źródła jakieś tej informacji? Bo ja się na nic takiego nie natknąłem, Javascript mi działa, na dodatek w benchmarkach na Sunspiderze:

      Firefox 13: 217ms
      Chromium-browser 18: 292ms

    3. już daję konkrety. Choć słowo zrąbany nie jest adekwatne już teraz po oficjalnym releasie. Okazuje się bowiem że zmieniła się implementacja setTimeout i nie jest to błąd lecz zamierzone działanie. Powinno to się objawić kłopotami na znaczącej ilości stron uzywających efektów związanych z opóźnieniem, następowaniem po sobie ruchu etc.

      https://developer.mozilla.org/en/DOM/window.setTimeout

      Na szczęście poprawka na problematyczne skrypty js jest dosyć prosta.

      Sypie się na tym np popularny jshowoff.jquery:

                  function delegate(scope, func, data, isTimeout)
                  {
                      return function()
                      {
                          var args = Array.prototype.slice.apply(arguments).concat(data);
                          //Mozilla/Gecko passes a extra arg to indicate the “lateness” of the interval
                          //this needs to be removed otherwise your handler receives more arguments than you expected.
                          if (isTimeout && $.browser.mozilla)
                              args.shift();  
                          func.apply(scope, args);
                      }
                  }

      rozwiązaniem jest:

                  function delegate(scope, func, data, isTimeout)

                  {

                      return function()

                      {

                          var args = Array.prototype.slice.apply(arguments).concat(data);

                          //Mozilla/Gecko passes a extra arg to indicate the “lateness” of the interval

                          //this needs to be removed otherwise your handler receives more arguments than you expected.

                          if (isTimeout && $.browser.mozilla && (parseInt($.browser.version) <= 12))

                              args.shift();  

                          func.apply(scope, args);

                      }

                  }

    Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

    Post comment

    Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.