2016-09-28 1 views
1

Ich verwende Windows 10, Chrome 53.0.2785.116 m (64-Bit), Firefox 49.0.1 und d3 v. 4.2.6. Der folgende Code funktioniert in Chrome:Warum schlägt die d3-Datumsachse in Firefox für bestimmte Datumsbereiche fehl?

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta charset="utf-8"> 
 
<script src="https://d3js.org/d3.v4.js"></script> 
 
</head> 
 
<body> 
 
<div id="chart"></div> 
 
<script type="text/javascript"> 
 
var dates = ["2015-10-11","2015-10-14","2015-10-15","2015-10-16","2015-10-19"]; 
 
var w = 600; 
 
var parseDate = d3.timeParse("%Y-%m-%d"); 
 
dates.forEach(function(d,i) {dates[i]=parseDate(d)}); 
 
console.log(dates); 
 
var svg = d3.select("#chart").append("svg").attr("width", w); 
 
var x = d3.scaleTime().range([0, 500]).domain(d3.extent(dates, function(d) { return d; })); 
 
var xAxis = d3.axisBottom(x); 
 
svg.append("g").attr("transform", "translate(50,50)").call(xAxis); 
 
</script>   
 
</body> 
 
</html>

aber es funktioniert nicht in Firefox diese Meldung in der Konsole zu verlassen:

Error: Script terminated by timeout at:
newInterval/[email protected]:5094:8
calendar/[email protected]:7018:13
[email protected]:8888:54
[email protected]:7615:3
@file:///C:/test/test.html:18:1

Auch wenn ich das erste Datum ändern, um „2015 -10-12 "dann funktioniert es in beiden Browsern. Ich suchte in diesen Zeilen in d3.v4.js nach einer Antwort, aber es war fruchtlos. Ich bin kein schwarzer Gürtel in Javascript, also könnte ich etwas verpasst haben. Ich habe auch im Internet gesucht, aber keine Erklärung für dieses seltsame Verhalten gefunden. Hat jemand eine Ahnung?

Edit: Getestet in einer virtuellen Maschine unter Ubuntu 16.04 und erhalten genau das gleiche Ergebnis. Wurde in Chrome ordnungsgemäß ausgeführt und ein Skript wurde durch einen Zeitüberschreitungsfehler in Mozilla Firefox für Ubuntu Canonical 1.0 beendet.

+1

Es funktioniert für mich in Firefox 49, außer ich habe Windows 7 Enterprise statt 10 – mgraham

+0

Es funktioniert für mich: Firefox 45, Windows 7. –

Antwort

1

Dank Mike Bostock von d3 und seinem Vorschlag, d3.utcParse und d3.scaleUtc zu verwenden, funktioniert Firefox jetzt wie erwartet!

Verwandte Themen