Benachrichtigung von Browseranbietern über Probleme, die in ihrem Browser auftreten ist ein wesentlicher Bestandteil der Verbesserung der Webplattform.
Einen guten Fehler zu melden ist nicht schwer, erfordert jedoch ein wenig Arbeit. Das Ziel ist es, Fehler einfach zu finden, die Ursache zu ermitteln und, vor allem, zu beheben. Fehler, die schnell Fortschritte machen, lassen sich meist leicht reproduzieren. erwartete Verhalten.
Prüfen, ob es sich um einen Programmfehler handelt
Zunächst müssen Sie herausfinden, sein sollte.
Wie funktioniert das richtig?
Lesen Sie die entsprechende API-Dokumentation auf MDN oder versuchen Sie, die zugehörigen Spezifikationen zu finden. Anhand dieser Informationen können Sie entscheiden, welche API wo sie fehlerhaft ist und wie das erwartete Verhalten ist.
Funktioniert das auch in einem anderen Browser?
Unterschiedliches Verhalten zwischen Browsern wird im Allgemeinen Interoperabilitätsproblem, insbesondere wenn der Browser mit dem Fehler der Fehler ist seltsam. Testen Sie die neuesten Versionen von Chrome, Firefox, Safari und Edge, möglicherweise mit einem Tool wie BrowserStack.
Stellen Sie nach Möglichkeit sicher, dass das Verhalten der Seite nicht absichtlich aufgrund
User-Agent-Sniffing. Versuchen Sie, in den Chrome-Entwicklertools den String User-Agent
festzulegen.
in einen anderen Browser.
Gab es bei einer neuen Version Fehler?
Hat dies in der Vergangenheit erwartungsgemäß funktioniert, in einer neuen Browserversion aber Fehler? Solche "Regressionen" kann viel schneller reagiert werden, insbesondere wenn Sie die Versionsnummer, wo er funktioniert hat, und eine Version, in der er fehlgeschlagen ist. Tools wie BrowserStack erleichtert das Prüfen alter Browserversionen und das bisect-builds-Tool (für Chromium) ermöglicht eine sehr effiziente Suche nach der Änderung.
Wenn ein Problem eine Regression ist und reproduziert werden kann, ist die Ursache in der Regel schnell gefunden und behoben werden.
Sehen andere das gleiche Problem?
Wenn Sie auf Probleme stoßen, ist es sehr wahrscheinlich, dass dies auch bei anderen Entwicklern der Fall ist. Versuchen Sie zunächst, auf Stack Overflow nach dem Programmfehler zu suchen. Dies kann Ihnen helfen, ein abstraktes Problem in eine spezifische fehlerhafte API umzuwandeln, und Sie finden so eine kurzfristige Problemumgehung, bis der Fehler behoben ist.
Wurde es schon einmal gemeldet?
Sobald Sie eine Vorstellung davon haben, was der Fehler ist, sollten Sie prüfen, wurde bereits durch eine Suche in der Datenbank für Browserfehler gemeldet.
- Chromium-basierte Browser: https://crbug.com
- Firefox: https://bugzilla.mozilla.org/
- Safari und WebKit-basierte Browser: https://bugs.webkit.org/
Wenn Sie auf einen vorhandenen Fehler stoßen, der das Problem beschreibt, fügen Sie Ihren Support hinzu. indem Sie den Fehler markieren, zu den Favoriten hinzufügen oder ihn kommentieren. Auf vielen Websites kannst du dich auf die CC-Liste setzen und Benachrichtigungen erhalten, wenn sich der Fehler ändert.
Wenn Sie sich entscheiden, den Fehler zu kommentieren, geben Sie Informationen dazu an, sich auf Ihre Website auswirkt. Vermeiden Sie es, „+1“ hinzuzufügen. Stilkommentare als Tracker für Fehler normalerweise bei jedem Kommentar eine E-Mail.
Fehler melden
Wenn der Fehler noch nicht gemeldet wurde, ist es an der Zeit, den Anbieter des Browsers darüber zu informieren. mehr darüber erfahren.
Minimierten Testlauf erstellen
In Mozilla finden Sie Wie erstelle ich einen minimierten Testlauf? Um eine Die Beschreibung des Problems ist zwar ein guter Anfang, liefert eine verlinkte Demo im Bug, in der die Problem. Um die Chance auf einen schnellen Fortschritt zu maximieren, sollte das Beispiel kleinstmöglichen Code enthalten, der zur Darstellung des Problems erforderlich ist. Minimaler Code Stichprobe ist die wichtigste Maßnahme, mit der Sie die Chancen Ihrer Fehler, der behoben wird.
Hier einige Tipps zum Minimieren eines Testlaufs:
- Webseite herunterladen,
<base href="https://original.url">
und prüfen Sie, ob der Fehler lokal auftritt. Hierfür ist möglicherweise ein Live-HTTPS-Server erforderlich, URL verwendet HTTPS. - Teste die lokalen Dateien in den neuesten Builds so vieler Browser wie möglich.
- Versuchen Sie, alles in einer Datei zusammenzufassen.
- Entfernen Sie Code bis zum Fehler verschwindet.
- Mit der Versionsverwaltung können Sie Ihre Arbeit speichern und Vorgänge rückgängig machen falsch.
Reduzierten Testlauf hosten
Wenn Sie nach einem guten Ort für das Hosten Ihres komprimierten Testfalls suchen, gibt es dafür mehrere passende Stellen:
Beachten Sie, dass einige dieser Websites Inhalte in einem iFrame anzeigen, der kann dazu führen, dass Funktionen oder Programmfehler sich anders verhalten.
Problem einreichen
Sobald Sie Ihren minimierten Testfall haben, können Sie den Fehler melden. Rufe die richtige Website zur Fehlerverfolgung auf und erstelle ein neues Problem.
- Chromium-basierte Browser – https://crbug.com/new
- Firefox – https://bugzilla.mozilla.org/
- Safari und WebKit-basierte Browser – https://bugs.webkit.org/
Beschreiben Sie klar und deutlich, welche Schritte erforderlich sind, um das Problem zu reproduzieren.
Geben Sie zuerst eine klare Beschreibung an, damit das Engineering-Team schnell versteht, und helfen bei der Lösung.
When installing a PWA using the `beforeinstallprompt.prompt()`, the
`appinstalled` event fires before the call to `prompt()` resolves.
Geben Sie als Nächstes die genauen Schritte an, die erforderlich sind, um das Problem zu reproduzieren. Hier kommt der minifizierte Testlauf ins Spiel.
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.
Beschreiben Sie abschließend das erwartete und das tatsächliche Ergebnis.
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)
Weitere Informationen finden Sie in den Richtlinien zum Schreiben von Fehlerbericht. auf MDN.
Bonus: Fügen Sie einen Screenshot oder einen Screencast des Problems hinzu.
Auch wenn nicht unbedingt erforderlich, kann es hilfreich sein, oder einen Screencast des Problems. Dies ist besonders hilfreich, wenn Fehler erfordert möglicherweise einige seltsame Schritte, um sich zu reproduzieren. Wenn Sie sehen können, was in ein Screencast oder ein Screenshot kann häufig hilfreich sein.
Details zur Umgebung angeben
Einige Fehler sind nur unter bestimmten Betriebssystemen oder nur unter bestimmte Arten von Bildschirmen verwenden (z. B. mit niedriger oder hoher DPI-Auflösung). Achten Sie darauf, und geben Sie die Details zu den von Ihnen verwendeten Testumgebungen an.
Fehler melden
Senden Sie dann den Fehler. Vergessen Sie dann nicht, Ihre E-Mails im Auge zu behalten, auf den Fehler. Während der Untersuchung und Behebung des Fehlers dass das Engineering-Team weitere Fragen reproduziert und reproduziert werden.