Informowanie dostawców przeglądarek o problemach wykrytych w ich przeglądarkach jest integralną częścią udoskonalania platformy internetowej.
Zgłoszenie dobrego błędu nie jest trudne, ale wymaga trochę pracy. Chcemy, aby można łatwo ustalić, co się zepsuło, dotrzeć do źródła problemu oraz, co najważniejsze, jak to naprawić. Szybkie postępy można łatwo odtworzyć za pomocą jasne oczekiwane działanie.
Potwierdź, że to błąd
Pierwszym krokiem jest ustalenie, jakie „prawidłowe” takie zachowanie.
Na czym polega prawidłowe działanie?
Przejrzyj odpowiednią dokumentację interfejsu API w MDN lub spróbuj znaleźć powiązane specyfikacje. Te informacje pomogą Ci zdecydować, który interfejs API gdzie coś się zepsuło i jakie jest oczekiwane działanie.
Czy ta aplikacja działa w innej przeglądarce?
Różne przeglądarki mają zwykle wyższy priorytet. jest problem ze współdziałaniem, zwłaszcza gdy przeglądarka zawierająca błąd nietypową odpowiedź. Przetestuj najnowsze wersje przeglądarek Chrome, Firefox, Safari i Edge, prawdopodobnie przy użyciu narzędzia takiego jak BrowserStack.
W miarę możliwości sprawdź, czy strona nie zachowuje się celowo w inny sposób.
wykrywanie klientów. W Narzędziach deweloperskich w Chrome ustaw ciąg User-Agent
do innej przeglądarki.
Czy w ostatniej wersji nie działała prawidłowo?
Czy w przeszłości działało to zgodnie z oczekiwaniami, ale w najnowszej wersji przeglądarki wystąpił błąd? Takie „regresje” można podjąć o wiele szybciej, zwłaszcza jeśli dostarczysz Numer wersji, w której działała, i wersji, w której wystąpił błąd. Narzędzia takie jak BrowserStack może ułatwić sprawdzanie starych materiałów wersje przeglądarki i narzędzie bisect-builds (w Chromium) pozwala bardzo sprawnie wyszukiwać zmiany.
Jeśli problem to regresja i można ją odtworzyć, główną przyczyną jest zwykle można szybko znaleźć i rozwiązać problem.
Czy inni mają ten sam problem?
Jeśli Twój problem występuje, prawdopodobnie inni deweloperzy też go używają. Najpierw spróbuj wyszukać błąd na stronie Stack Overflow. Może to pomóc w przełożeniu abstrakcyjnego problemu na określony uszkodzony interfejs API. i może pomóc Ci znaleźć krótkoterminowe obejście do czasu usunięcia błędu.
Czy została wcześniej zgłoszona?
Gdy już będziesz wiedzieć, na czym polega błąd, sprawdź, czy została już zgłoszona przez przeszukanie bazy danych błędów przeglądarki.
- Przeglądarki oparte na Chromium: https://crbug.com
- Firefox: https://bugzilla.mozilla.org/
- Safari i Przeglądarki oparte na silniku WebKit: https://bugs.webkit.org/
Jeśli znajdziesz błąd, który opisuje problem, skontaktuj się z zespołem pomocy. oznaczając błąd, dodając go do ulubionych lub skomentując. W wielu witrynach możesz wpisać się na listę DW i otrzymywać powiadomienia o zmianach.
Jeśli zdecydujesz się skomentować błąd, podaj w nim informacje na temat jego działania. na Twoją witrynę. Unikanie dodawania „+1” stylu komentarzy, w tym narzędzia do śledzenia błędów. zwykle wysyła e-maila z każdym komentarzem.
Zgłoś błąd
Jeśli błąd nie został wcześniej zgłoszony, pora poinformować dostawcę przeglądarki na ten temat.
Tworzenie zminimalizowanego przypadku testowego
Mozilla zawiera świetny artykuł na temat jak stworzyć zminimalizowany przypadek testowy. Aby utworzyć Krótko mówiąc, opis problemu to świetny początek, ale nic zawiera link do wersji demonstracyjnej, w którym widać, . Aby zmaksymalizować szansę na szybki postęp, przykład powinien zawierać czyli minimalną ilość kodu niezbędną do zademonstrowania problemu. Minimalny kod to, co można zrobić, aby zwiększyć szanse na uzyskanie naprawianie błędu.
Oto kilka wskazówek, jak zminimalizować liczbę przypadków testowych:
- Pobierz stronę internetową, dodaj
<base href="https://original.url">
i sprawdź, czy błąd występuje lokalnie. Może to wymagać aktywnego serwera HTTPS, jeśli Adres URL używa protokołu HTTPS. - Przetestuj pliki lokalne w najnowszych kompilacjach w jak największej liczbie przeglądarek.
- Spróbuj wszystko połączyć w jeden plik.
- Usuń kod (zaczynając od elementów, o których wiesz, że są niepotrzebne) do momentu wystąpienia błędu przestaje działać.
- Korzystaj z kontroli wersji, aby zapisywać efekty swojej pracy i cofać błędy źle.
Hostowanie zminifikowanego przypadku testowego
Jeśli szukasz dobrego miejsca na zminimalizowany test, jest kilka dobrych miejsc:
Pamiętaj, że wiele z tych witryn wyświetla treść w elemencie iframe, który może powodować odmienne działanie funkcji lub błędów.
Zgłaszanie problemu
Po utworzeniu zminimalizowanego przypadku testowego możesz zgłosić błąd. Wejdź na odpowiednią stronę śledzenia błędów i utwórz nowy problem.
- Przeglądarki oparte na Chromium – https://crbug.com/new
- Firefox: https://bugzilla.mozilla.org/
- Safari i Przeglądarki oparte na silniku WebKit – https://bugs.webkit.org/
Podaj jasny opis i czynności, które musisz wykonać, aby odtworzyć problem.
Najpierw podaj jasny opis, aby inżynierowie mogli szybko zrozumieć, i pomóc w jego sklasyfikowaniu.
When installing a PWA using the `beforeinstallprompt.prompt()`, the
`appinstalled` event fires before the call to `prompt()` resolves.
Następnie podaj szczegółowe instrukcje, które pozwolą odtworzyć problem. Dlatego warto skorzystać z zminimalizowanego przypadku testowego.
What steps will reproduce the problem?
1. Go to https://basic-pwa.glitch.me/, open DevTools and look at the
console tab.
2. Click the Install button in the page, you might need to interact with
the page a bit before it becomes enabled.
3. Click Install on the browser modal install confirmation.
Na koniec opisz oczekiwany i rzeczywisty wynik.
What is the expected result? In the console:
0. INSTALL: Available (logged when `beforeinstallprompt` event fired)
1. INSTALL_PROMPT_RESPONSE: {outcome: "accepted", platform: "web"}
(logged when beforeinstallprompt.prompt()` resolves)
2. INSTALL: Success (logged when `appinstalled` event fired)
What is the actual result? In the console:
0. INSTALL: Available (logged when `beforeinstallprompt` event fired)
1. INSTALL: Success (logged when `appinstalled` event fired)
2. INSTALL_PROMPT_RESPONSE: {outcome: "accepted", platform: "web"}
(logged when beforeinstallprompt.prompt()` resolves)
Więcej informacji znajdziesz we wskazówkach na temat pisania raportów o błędach. w MDN.
Dodatkowe informacje: dodaj zrzut ekranu lub screencasta przedstawiającego problem.
Chociaż nie jest to wymagane, w niektórych przypadkach warto dodać zrzut ekranu, albo screencast prezentujący problem. Jest to szczególnie przydatne w przypadkach, w których błędy jego odtworzenie może wymagać wykonania pewnych nietypowych kroków. Możliwość zobaczenia, co się dzieje w screencast lub zrzut ekranu mogą być pomocne.
Dołącz szczegółowe informacje o środowisku
Niektóre błędy można odtworzyć tylko w określonych systemach operacyjnych lub tylko określonych rodzajów wyświetlaczy (np. o niskiej lub wysokiej rozdzielczości). Koniecznie dołącz szczegółowe informacje o używanych przez Ciebie środowiskach testowych.
Zgłoś błąd
Na koniec zgłoś błąd. Następnie pamiętaj, aby sprawdzać, czy w skrzynce odbiorczej nie ma odpowiedzi na błędy. Zwykle podczas badania problemu i naprawiania błędu inżynierowie mogą otrzymać dodatkowe pytania lub napotkać trudności odtwarzając problem, mogą skontaktować się z Tobą.