2017-04-05 128 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测试了它。

相关问题