饼干是伟大的,因为网站.com编写的值可用于www.website.com(www被认为是no-www的sudomain)。缺点是所有的cookie值都与每个HTTP请求一起发送到服务器。所以我正在寻找本地可用于JavaScript的本地存储机制,该机制工作在跨子域,并且不会传输到服务器。这种机制是否存在?不支持跨子域,并且Flash Cookies在iPhone上不起作用。Cookie是唯一的本地跨子域存储吗?
回答
也许只是重新website.com到www.website.com或反之亦然? 这似乎是最简单的修复方法。 http://www.scriptalicious.com/blog/2009/04/redirecting-www-to-non-www-using-htaccess/
这样做的性能影响是什么? – JoJo
更多需要重定向的用户的单个请求 - 响应。 http://en.wikipedia.org/wiki/HTTP_301 用户甚至不会注意到它。 – devictories
如果您的用户有一个他们在服务器上登录的实际帐户,那么您可以存储信息服务器端,并在每个页面中只包含一点javascript,以便将相应的数据用于该数据。当您渲染页面服务器端时,您可以在javascript中定义一个用户对象,并将适当的属性设置为可以在客户端引用的数据值。这样,您只包含给定页面中所需的数据,无论用户登录哪台计算机(不依赖于持久性cookie),都可以使用相同的用户数据。如果偶尔需要更大的数据片段,并且您不希望将它们包含在页面中以备需要时,可以通过ajax/json使这些数据片段可查询,以便仅在需要时才可以检索这些数据片段。
如果你还只在本地存储目的,然后饼干或HTML5本地存储是你唯一的选择和cookie将覆盖所有浏览器在使用中你唯一的跨浏览器选项。除了实施复杂性之外,您还可以结合以下建议:
- 始终重定向到www.domain.com,以便所有用户活动位于同一个域中。
- 使用HTML5本地存储可用时(步骤1中的重定向防止子域闭锁)。
- 回退到的cookie存储在HTML5本地存储空间不可用。
人们可能会为HTML5本地存储和cookie编写或查找抽象,因此99%的代码可能独立于实际使用的存储机制。看起来好像有一些jQuery插件可以做到这一点。
- 1. 使用Greasemonkey脚本跨域跨本地存储
- 2. 子域下的本地存储
- 3. 跨域中的Cookie在子域
- 4. 本地存储加载cookie
- 5. 本地存储vs Cookie
- 6. 跨域存储值
- 7. 读取ColdFusion中的跨域(跨子域)Cookie(HTTPS)
- 8. 本地存储的Cookie的安全性
- 9. 设置子子域可访问的跨子域Cookie?
- 10. 跨会话的子域cookie处理?
- 11. 本地存储vs cookie的性能
- 12. 节点js中的本地存储/ Cookie
- 13. 如何在Javascript的跨域操作中存储cookie?
- 14. 本地存储跨域Safari浏览器默认
- 15. 本地主机的Cookie域?
- 16. 跨域cookie跟踪
- 17. 跨域使用cookie?
- 18. 覆盖cookie失败PHP&ASP跨子域
- 19. 跨子域处理CORS和Cookie范围
- 20. 使用Cookie跨子域登录
- 21. 如何使用Javascript将本地存储的Cookie存储?
- 22. Set-Cookie头不设置cookie跨域。 Cookie未保存
- 23. Google课堂API中的CourseID是否是跨域唯一的?
- 24. iframe中的跨域cookie Safari
- 25. 跨域请求上的Cookie
- 26. 离子本地存储
- 27. 这是一个跨域问题吗?
- 28. ASP.NET子域Cookie(父和一个子域)
- 29. 是否可以读取跨域cookie?
- 30. PHP:将一个cookie的域的子域
你需要多少存储空间?如果数量不多,并且您使用的是PRG模式(POST,REDIRECT,GET),只需将所需的数据保存到GET页面中,然后在页面上发布所需的任何数据即可。 –
你是如何跨域的?你需要支持哪些浏览器不支持LocalStorage? –
@Rovert Harvey:这是一个大量的数据:喜好,登录状态,最近的活动。我只是讨厌查询非关键数据的服务器,所以我喜欢将它存储在本地。 /// @James Black:到目前为止,我只需要** www **和**非www **来共享相同的值。当用户在**非www **上做某些事情时,我认为这是一种糟糕的用户体验,然后转到** www **并发现他们的所有偏好都被消除了。我的目标是升级现代浏览器以停止使用Cookie,但在旧浏览器不支持此新存储机制时回退到Cookie。这种方式我的服务器采取的冲击较少 – JoJo