【问题标题】:What are invalid values when setting style properties in IE9?在 IE9 中设置样式属性时有哪些无效值?
【发布时间】:2018-02-20 18:07:16
【问题描述】:

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

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

在 IE9 中控制台会报告这种类型的错误。

SCRIPT87: Argumento no vá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 不是兼容层,因此在设置样式属性时需要避免无效值。

但我不知道样式属性中的无效值是什么。

【问题讨论】:

  • caniuse.com 和这个问题有什么关系?
  • OP 可以去这个地方寻找 IE 浏览器的兼容性;)
  • @ReclutaPatoso,这取决于您要设置的属性。您必须提供实际参数。
  • @ReclutaPatoso caniuse.com/#feat=css-opacity 用于 IE 中的不透明度设置。

标签: javascript internet-explorer d3.js


【解决方案1】:

试试

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

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

我使用 D3JS 4.10.12 对其进行了测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多