gpt4 book ai didi

javascript - 对于 html 数据存储,我需要记住哪些兼容性?

转载 作者:行者123 更新时间:2023-12-02 17:17:38 25 4
gpt4 key购买 nike

根据this question可以在 html 标签中存储数据,现在是我的 DOCTYPE标题如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

我想知道我应该记住什么交叉/向后兼容性,比如如果我尝试使用 javascript 访问 output-file ,哪些浏览器的哪些版本会出现问题。表单标签中的属性。例如

<form name="myForm" id="myForm" output-file="export.log">

编辑:我的 header 的原因是我要添加到现有的 Intranet 系统中,他们为每个页面使用相同的 header ,并且它出现在 HTML5 之前(理想情况下我想使用)

编辑2:我很清楚我应该使用data-但是我可以使用 console.log(document.getElementById("myForm").getAttribute("output-file")) 作为我的属性的前缀很好,得到了正确的结果,我想有人会注意到这一点,并解释可能存在的交叉/向后兼容性问题

最佳答案

您为什么要使用过渡文档类型?为什么不严格?

无论如何 - 要回答你的问题,是的,你可以使用 HTML 存储,但你应该使用正确的语法:

<form name="myForm" id="myForm" data-output-file="export.log">

注意 data- 的使用前缀。

您可以使用 javascript 阅读此内容:

var el = document.getElementById("myForm");
var filename = el.getAttribute("data-output-file");
el.setAttribute("data-output-file", "newName");

这是一篇很棒的文章:
http://webdesign.tutsplus.com/tutorials/all-you-need-to-know-about-the-html5-data-attribute--webdesign-9642

编辑

data-*的使用所有现代浏览器都很好地支持属性,甚至早到 IE。那里不会有任何兼容性问题。

回答另一个问题:通过使用 data-*为您添加前缀:

  • 以后添加新的 html 属性不会遇到任何问题。 HTML5标准专门预留了data-*用于此目的的命名空间。
  • 及时,当 <element>.dataSet ,您将能够使用它来代替 hacky setAttributegetAttribute .

编辑 2

  • 此方法一直适用于 IE6。
  • 如果您不使用 data- 前缀,则可能会面临与后续推出的新 HTML5 属性发生冲突的风险。

关于javascript - 对于 html 数据存储,我需要记住哪些兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24277789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com