實際上,這可能更多的是Javascript問題,但由於我在d3中編碼時遇到了問題,並且因爲它只發生在IE9中,所以我認爲它特別與d3相關用戶。.map生成錯誤形狀的多邊形點列表
這裏是我做的: 我開始時加入的鼠標點擊到一個數組:
daLineArray.push({ x: d3.mouse(this)[0], y: d3.mouse(this)[1] });
從這我生成的路徑,通過將所得到的陣列到 d3.svg.line發生器。這適用於所有瀏覽器。
然後我轉動路徑成多邊形由第一原始數組 映射成一個較短的一個:
daLineArrayShort = daLineArray.map(function(d) { return d3.values(d) });
,然後送入d3.area發生器此。
在IE9, 之外的所有瀏覽器中都會生成一個很好的多邊形,它會抱怨點列表沒有正確的格式。
說實話,IE9是對的。
當我檢查它的HTML生成的多邊形的形式,它看起來像這樣(的 數字是虛構在這種情況下):
points="10,10,20,20,30,30,40,40,etcetera"
雖然我想應該這樣看:
points="10,10 20,20 30,30 40,40 etcetera"
換句話說,在預計空間爲 的座標對之間有逗號。
我之前就注意到了這一點,但我只是意識到這是一個問題,當我在IE9中測試了我的工作時。
所以,我的問題是:我如何產生一個正確解析的數組?
(我曾嘗試直接推到分daLineArrayShort (.push([d3.event.pageX, d3.event.pageY])
,但是這並沒有產生 適當點列表或者 - 逗號一直支撐着。)