在IE9中设置样式属性时,什么是无效值?

时间:2017-04-05 13:00:07

标签: javascript internet-explorer d3.js

我正在用D3v4库做一个js。它适用于Chrome,Firefox,IE edge和IE 10.但我需要它在IE 9中运行。

我看到了类似的question,但这是针对D3v3版本的。即便如此,我尝试用答案解决我的问题但不起作用。

在IE9中,控制台报告此类型错误。

  

SCRIPT87:Argumentonoválido。

     

Archivo:d3.min.js,Línea: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 个答案:

答案 0 :(得分:0)

尝试

xmlp = ET.XMLParser(encoding="utf-8")
f = ET.parse('file_name.xml',parser=xmlp)

值必须始终一个字符串。否则你会在IE9中得到一个奇怪的字符错误,因为它只能处理字符串。

我用D3JS 4.10.12测试了它。