【发布时间】:2013-04-21 06:15:34
【问题描述】:
我想使用 location.hash 对我的客户端应用程序的状态进行编码,以便用户可以使用 URL 轻松地收藏和/或共享完整状态的应用程序。
关于 url 的最大长度有许多(过时的)主题,尤其是 Internet Explorer 中的限制。但是,尚不清楚location.hash 的最大大小是多少。因为散列只存在于客户端,所以不受http或服务器的限制。
我做了一个简单的 jsfiddle 来测试这个:http://jsfiddle.net/Jz3ZA/。在 Chrome 和 Firefox (Ubuntu 12.04) 中,高达 50K 的哈希值似乎都有效。这是否意味着我可以使用它们来存储状态或者我忽略了其他限制?
【问题讨论】:
-
对于 URL 的大小限制根本没有标准,因此哈希理论上可以是任意长度,但您不能相信特定浏览器会做什么(尤其是 IE)。
-
为什么不将状态存储在服务器中?
-
我在 Internet Explorer 11 上运行了你的小提琴,但它在哈希长度 3000 处失败
标签: javascript internet-explorer google-chrome firefox browser