我正在考虑编写一个JS包装器,使用HTML 4在旧网站上创建一个HTML 5 localStorage
对象,因为每个人都说它只能用HTML 5提供。所以我写了this simple page:< / p>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript">
console.log(localStorage);
</script>
</body>
</html>
...我希望控制台能给我undefined
所以我可以开始实施了。但它只显示本地存储对象,我可以正常使用!我在最新版本的Chrome,Safari和Firefox上尝试过它,它只是有效。
所以我的问题是:
我是否会遗漏某些内容,或者localStorage
在现代浏览器中是否可用,而不管HTML4或HTML5的文档类型是什么?
难道不知道这有效吗?对我有用......但为什么每个人都在讨论HTML 5的要求呢?我没有找到任何来源说这只适用于HTML4。
答案 0 :(得分:7)
localStorage归因于HTML 5的原因不是因为HTML 5 doctype,而是因为它需要兼容HTML 5的浏览器。浏览器确定是否存在用于创建和维护本地存储的功能。
有关客户端存储的一些有趣信息,请参阅以下链接: https://developers.google.com/web-toolkit/doc/latest/DevGuideHtml5Storage
答案 1 :(得分:0)
Web存储被认为是HTML 5规范的一部分。然而,从那时起,HTML5和Web存储都是作为单独的标准同时开发的,这两个标准都尚未最终确定。因此,Web Storage可以使用旧版本的HTML,但只有现代浏览器才能支持标准版。