Firefox 78: ulepszenia DevTools oraz w menu kontekstowym
Od dzisiaj dostępna jest nowa przeglądarka w wersji Firefox 78. Zgodnie z zapowiadanymi wcześniej zmianami jest to ostatnia wersja z obsługą macOS w wersji 10.9, 10.10 i 10.11. Dlatego też w nadchodzącym roku te wersje będą obsługiwane przez Firefox ESR (Extended Support Release).
Wydana stabilna wersja zapewnia wiele nowych funkcji dla Web deweloperów. Oprócz ulepszeń w DevTools, dostępny jest także nowy silnik regex, selektory CSS, a także poprawione wsparcie dla WebAssembly.
Firefox 78: Bezpieczeństwo
Przede wszystkim ochrona Dashboard zawiera skonsolidowane raporty dotyczące śledzenia naruszeń ochrony danych. Ponadto w raportach znajdziemy informacje o zarządzaniu hasłami. Dzięki nowym funkcjom można bezpośrednio z pulpitu nawigacyjnego śledzić liczbę wykrytych naruszeń. Twórcy oferują nam także możliwość sprawdzenia, czy któreś z używanych haseł mogło zostać ujawnione z powodu naruszeń ochrony danych.
Menu kontekstowe
W najnowszej wersji menu kontekstowego, dzięki nowemu podmenu, rozszerzona jest obsługa kart. W związku z tym wśród opcji nowego podmenu znajdują się opcje – Zamknij karty po prawej stronie i Zamknij inne karty. Ponadto, pojawiła się funkcja – Przywróć zamkniętą kartę. Jest ona wynikiem częstego, przypadkowego zamykania niewłaściwych kart, a dalej – pogorszenia komfortu obsługi.
Zmiany deweloperskie w Firefox 78
DevTools Console
W specjalnej wersji dla programistów dostępne są nowe funkcje DevTools. Teraz panel sieci DevTools podkreśla, które ograniczenie lub rozszerzenie CORS zablokowało żądanie. Dzięki temu programiści dbają o odporność i bezpieczeństwo swoich witryn. Kolejną zmianą jest rejestracja nieprzechwyconych błędów Promise, ze szczegółowymi nazwami i właściwościami. W wyniku poprawione jest debugowanie środowiska JavaScript.
Nowy silnik Regex w Firefox 78
Firefox obsługuje teraz wszystkie nowe funkcje wprowadzone w ECMAScript 2018. Referencja Lookbehinds (dodatnia i ujemna) pozwala znaleźć wzorce, które są (lub też nie) poprzedzone innym wzorcem. Nazwane grupy przechwytywania odwołują się do określonej części ciągu, który pasuje do wyrażenia regularnego. Sekwencje ucieczkowe Unicode są zapisywane w formie \p{…} i \{…}. Służą do dopasowania dowolnej liczby dziesiętnej w Unicode.
const regex = /^\p{Decimal_Number}+$/u;
Zmiany w CSS
Pierwszymi zmianami są dodane selektory pseudoklas :is() i :where(). Dlatego też pozwalają one przedstawić listę selektorów do przeglądarki. Z kolei przeglądarka skorzysta z reguły do każdego elementu, który jest odpowiedni do jednego z tych selektorów. W związku z tym można ograniczyć liczbę powtórzeń podczas pisania selektorów pasujących do wielu elementów:
header p, main p, footer p, header ul, main ul, footer ul { … }
Można ograniczyć do
:is(header, main, footer) :is(p, ul) { … }
Różnica między :is() i :where() dotyczy przede wszystkim specyficzności selektora ogólnego. :where() ma wartość specyficzności 0, a :is() liczy się do specyficzności selektora ogólnego. Bierze jednak pod uwagę specyfikę jego najbardziej specyficznego argumentu.
Dodatkowo, w wersji Firefox 78 włączono obsługę nieprefiksowanych wersji :read-only oraz :read-write. Stylizują one elementy w zależności od tego, czy ich treść jest edytowalna czy nie.
input:read-only, textarea:read-only { border: 0; box-shadow: none; background-color: white; } textarea:read-write { box-shadow: inset 1px 1px 3px #ccc; border-radius: 5px; }
Obsługa wielu wartości WebAssembly
Obsługa wielowartościowa WebAssembly jest przede wszystkim proponowanym rozszerzeniem podstawowego zestawu. Funkcje mogą zwracać wiele wartości, a także umożliwiają sekwencjom instrukcji tworzenie i korzystanie z wielu wartości stosu.
Źródła:
- https://www.mozilla.org/en-US/firefox/78.0/releasenotes/
- https://hacks.mozilla.org/2020/06/new-in-firefox-78/