2016-03-07 131 views
0

因此,像往常一樣,Internet Explorer導致兼容性問題。這一次,它是我使用d3.js構建的樹形圖。我的樹的作品在其他瀏覽器,但我得到以下錯誤,當我加載在Internet Explorer 11頁:d3.js與IE兼容的樹形佈局

SCRIPT5007: Unable to get property '0' of undefined or null reference 

一個鏈接到拋出該錯誤的行:

d3.select(this.parentNode.children[0]).attr('height', 21 * (lineNumber + 1)); 

我已經通過對this question的每個答案以及嘗試使用aight.js,但無濟於事。我也嘗試使用元標記<meta http-equiv="X-UA-Compatible" content="IE=Edge" />並更新了d3.min.js腳本。

在IE中加載的唯一東西是一些非常破碎,壓扁,功能失常的svg外觀廢話。有任何想法嗎?

UPDATE

Here is a JSFiddle我的代碼,以及我使用jQuery和D3的版本。

+0

你將不得不展示一個可重複的例子。我剛剛嘗試了幾個'd3'樹[layout](https://bl.ocks.org/mbostock/4339083)[示例](http://bl.ocks.org/mbostock/4063550)與ie11沒有任何問題。我的猜測是,meta標籤沒有采取和IE使用「兼容模式」。特別是如果你在代理/防火牆的後面,我已經看到,即使兼容性設置做了瘋狂的事情。一個快速測試是打開ie的開發者工具,進入模擬選項卡並查看文檔模式下拉菜單。它顯示「邊緣」? – Mark

+0

嗨,我會嘗試創建一個jsfiddle與我的代碼,同時,沒有它顯示文檔模式「11(默認)。 –

回答

0

所以事實證明,Internet Explorer不喜歡parentNode.children[0]。 要得到parentNode的第一個孩子,請使用parentNode.firstChild。這使腳本與IE兼容。