在IE9中设置样式属性时什么是无效值?
问题描述:
我正在用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不是兼容层,所以在设置样式属性时需要避免无效值。
但我不知道什么样式属性中的值无效。
答
尝试
element.style("property", "value");
这是绝对必要的值始终的字符串。否则,在IE9中会出现奇怪的字符错误,因为它只能处理字符串。
我用D3JS 4.10.12测试了它。
http://caniuse.com – Jai
caniuse.com与这个问题有什么关系? – BoltClock
OP可以在这个地方去寻找IE浏览器的兼容性;) – Jai