Javascript 为什么我的美国地图会使Firefox浏览器崩溃?D3.js
这是我的d3图形的图像 在Firefox上,与Chrome和IE不同的是,当按下以绘制SVG时,浏览器似乎会崩溃。当图形被删除时,没有问题,页面也没有中断。同样,在其他浏览器上也没有问题。没有记录任何错误。只有死亡 适用于IE 10和Chrome 32>>最新浏览器。Firefox 26.0正在崩溃Javascript 为什么我的美国地图会使Firefox浏览器崩溃?D3.js,javascript,firefox,map,svg,d3.js,Javascript,Firefox,Map,Svg,D3.js,这是我的d3图形的图像 在Firefox上,与Chrome和IE不同的是,当按下以绘制SVG时,浏览器似乎会崩溃。当图形被删除时,没有问题,页面也没有中断。同样,在其他浏览器上也没有问题。没有记录任何错误。只有死亡 适用于IE 10和Chrome 32>>最新浏览器。Firefox 26.0正在崩溃 (function(){ var width = 900, height = 500; var projection = d3.geo.albersUsa() .scale(107
(function(){
var width = 900,
height = 500;
var projection = d3.geo.albersUsa()
.scale(1070)
.translate([460, height / 2]);
var path = d3.geo.path()
.projection(projection)
.pointRadius(2);
var svg = d3.select("#map").append("svg")
.attr("width", width)
.attr("height", height);
queue()
.defer(d3.json, "../us.json")
.defer(d3.tsv, "../long_lat.tsv")
.await(ready);
function ready(error, us, long_lat) {
if (error){
console.log(error);
}
svg.append("path")
.datum(topojson.feature(us, us.objects.land))
.attr("class", "land")
.attr("d", path);
svg.append("path")
.datum(topojson.mesh(us, us.objects.states, function(a, b) { return a !== b; }))
.attr("class", "states")
.attr("d", path);
svg.append("path")
.datum({type: "MultiPoint", coordinates: long_lat})
.attr("class", "points")
.attr("d", path)
.style('fill', 'rgb(247, 150, 29)');
};
})();
我的tsv数据:
0 1
-73.427242 40.871873
-73.996700 40.750000
-73.992363 40.740134
-87.525537 37.942482
-89.564576 44.501590
-118.819400 34.192900
-73.897400 42.774700
-101.886595 35.149460
-71.769200 42.249000
-71.887880 41.807116
-73.991458 40.737710
-78.953169 43.053301
-72.484121 42.787935
-122.615410 45.332182
...
我还应该提到,链接中的答案代码就是这个图的最终版本。你需要把完整的代码放在某个地方,这样我们才能检查。另外一个问题是一个片段。你使用的是什么版本的Firefox?它是否适用于其他版本?您可能在这里遇到了firefox错误。@Larskothoff我已经更新了它的工作版本。这是在Firefox 26.0中发生的,但在最新的Chrome和IE中起作用。。。我怀疑是火狐bug@RobertLongson我已经更新了这个问题,加入了相关的代码(不包括我们的TopoJSON)。如果这一点受到质疑,我也可以提供。