参数传递与本地存储

Sim*_*mon 5 javascript html5 url-parameters local-storage

我有一个用HTML5/javascript编写的大厅..json文件为大厅和可以从其启动的各种其他HTML5游戏提供一些配置参数.这些参数可以通过window.open字符串传递给游戏(格式为:

window.open(http://www.myLovelyDomain.com/index.html?username=bob&token=aaaXXX")
Run Code Online (Sandbox Code Playgroud)

或者可以在localStorage中保存,并在游戏发布后通过游戏访问.

我的问题是,什么是最好的(最安全/可能导致最少的错误/等)方法?我知道用户可以关闭localStorage,但我不知道有多少人关注.有什么想法吗?

Pau*_* S. 7

localStorage过度URL查询字符串的优点

  • 不太可能被用户编辑
  • 不太可能被复制并粘贴给其他人
  • 可以持续跨会话
  • 更广泛的角色选择
  • (边际)减少带宽使用(更短的GET)
  • 可以存储整个文件
  • 对基本用户不可见

缺点

  • 没有额外的ajax,服务器无法访问变量
  • 可能更难调试
  • 如果每次会话都发生变化(或考虑sessionStorage),可能需要额外检查
  • 旧浏览器不支持
  • 不能直接使用跨域(可能有利,取决于你如何看待它)

有关支持列表和最大尺寸,请参见此处.

  • 我认为另一个缺点是,如果您打开多个选项卡,您将无法打开具有不同数据的页面,就像使用查询字符串一样(除非您使用`sessionStorage`) (3认同)