HTML 中的属性值有多长?
我在新应用程序中使用 HTML5 样式数据属性 ( data-foo="bar"
),在一个地方存储大量数据(超过 100 个字符)真的很方便。虽然我怀疑这个数额没有问题,但它提出了多少才算过多的问题?
原文由 nickf 发布,翻译遵循 CC BY-SA 4.0 许可协议
HTML 中的属性值有多长?
我在新应用程序中使用 HTML5 样式数据属性 ( data-foo="bar"
),在一个地方存储大量数据(超过 100 个字符)真的很方便。虽然我怀疑这个数额没有问题,但它提出了多少才算过多的问题?
原文由 nickf 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚刚 编写了一个测试(注意! _请参阅下面的更新_),它将一个长度为 1000 万 的字符串放入一个属性中,然后再次检索它,并且它工作正常(Firefox 3.5.2 和 Internet Explorer 7)
5000 万使浏览器挂起并显示“此脚本需要很长时间才能完成”消息。
更新:我已经修复了脚本:它之前将 innerHTML 设置为一个长字符串,现在它正在设置一个数据属性。 https://output.jsbin.com/wikulamuni 它对我有用,长度为 1 亿。 YMMV。
el.setAttribute('data-test', <<a really long string>>)
原文由 nickf 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.5k 阅读✓ 已解决
2 回答859 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答867 阅读✓ 已解决
2 回答773 阅读
1 回答753 阅读✓ 已解决
2 回答1.1k 阅读
HTML5 对属性值的长度没有限制。
正如 规范 所说,“此版本的 HTML 因此返回到非 SGML 基础。”
后来在描述如何解析HTML5时,出现了下面这段话( 强调):
因此,(理论上) _HTML5 属性的长度/大小没有限制_。
请参阅修订历史以获取涵盖 HTML4 的原始答案。