2017-04-05 135 views
1

我正在用D3v4庫做一個js。它適用於Chrome,Firefox,IE邊緣和IE 10.但我需要它在IE 9中工作。在IE9中設置樣式屬性時什麼是無效值?

我看到類似的question,但這是D3v3版本。即便如此,我嘗試用答案解決問題,但不起作用。

在IE9控制檯報告這種類型的錯誤。

SCRIPT87:Argumento noválido。

檔案館:d3.min.js,拉利內阿:2,Columna:6430

此錯誤標記這個函數在d3.js庫:

function styleConstant(name, value, priority) { 
    return function() { 
    this.style.setProperty(name, value, priority); 
    }; 
} 

具體來說這一行:

this.style.setProperty(name, value, priority); 

如果我使用d3.min.js標記此功能:

function B(t,n,e){return function(){this.style.setProperty(t,n,e)}} 

特別是這一行:

this.style.setProperty(t,n,e) 

,我發現這個answer和它說的:

是,IE9如果你試圖設置一個無效的樣式屬性有時會拋出一個錯誤。這是IE9的怪癖之一,並且由於D3不是兼容層,所以在設置樣式屬性時需要避免無效值。

但我不知道什麼樣式屬性中的值無效。

+1

http://caniuse.com – Jai

+0

caniuse.com與這個問題有什麼關係? – BoltClock

+0

OP可以在這個地方去尋找IE瀏覽器的兼容性;) – Jai

回答

0

嘗試

element.style("property", "value"); 

這是絕對必要的值始終的字符串。否則,在IE9中會出現奇怪的字符錯誤,因爲它只能處理字符串。

我用D3JS 4.10.12測試了它。

相關問題