Wir verwenden Highcharts, um mehrere Diagramme auf einer einzelnen HTML-Seite zu plotten.Highcharts benutzerdefinierter Fehlerbehandler
Allerdings eine/einige der Grafik werfen Highchart-Fehler und wir gerne diese Fehler zu erfassen und zeigen unterschiedliche Fehler für den Benutzer. Für diese Highcharts bieten benutzerdefinierte Fehlerbehandlung. Dieser benutzerdefinierte Fehlerhandler enthält jedoch keine Informationen zu einem bestimmten Diagramm, das diesen Fehler verursacht.
Hier, dass JS Fiddle von highcharts zur Verfügung gestellt, die für ein Diagramm funktioniert gut:
Highcharts.error = function (code, true) {
// See
https://github.com/highcharts/highcharts/blob/master/errors/errors.xml
// for error id's
Highcharts.charts[0].renderer
.text('Chart error ' + code)
.attr({
fill: 'red',
zIndex: 20
})
.add()
.align({
align: 'center',
verticalAlign: 'middle'
}, null, 'plotBox');
};
Jede Idee, wie kann ich diese benutzerdefinierten Fehlerhandler pro Diagramm verwenden? Ich verwende neue Highcharts.Charts (Optionen), um ein neues Diagramm zu erstellen, sehe aber keine Möglichkeit, den Fehlerhandler für jedes Diagramm anzugeben.
Zusätzliche Informationen: Charts werden aufgefrischt/hängten Daten über APIs. Der Benutzer, der das Diagramm konfiguriert, konfiguriert auch das Aktualisierungsintervall und die Abfrage, die für das Diagramm verwendet werden sollen.
Das ist interessant. Ich würde erwarten, dass Highcharts ein korrektes Fehlerobjekt mit Kontext hat. Aber das scheint nicht der Fall zu sein. Ich habe eine Lösung, die für Fehler funktioniert, die während der Erstellung der Diagramme ausgelöst werden. Aber, wenn es ein dynamisches Update ist, wird es nicht helfen. Wäre das für dich nützlich? –
Danke Barbara, aber ja, wie du richtig gesagt hast, das ist ein dynamischer Update-Use-Case. Diagramme werden mithilfe von Daten mithilfe von APIs aktualisiert/angehängt. Der Benutzer, der das Diagramm konfiguriert, konfiguriert auch das Aktualisierungsintervall und die Abfrage, die für das Diagramm verwendet werden sollen. Wie auch immer, bitte teilen Sie die Lösung, die Sie haben, auch wenn das für diesen Fall nicht nützlich ist, könnte es jemand anderem helfen, der diesen Thread besucht. – Puneri