2013-05-27 66 views
1

我正在使用Javascript来隐藏站点每个页面上的站点地图(以便在JavaScript禁用的浏览器中可见)。然后,我使用JQuery切换来允许用户显示站点地图(使用每个页面页脚中的“站点地图”链接)。如何跟踪用户偏好状态从页面到页面

每当用户导航到另一个页面时,站点地图“重新隐藏”,但我想保持跨页面的站点地图的可见性。

换句话说:网站地图应该隐藏起来,但是如果用户切换站点地图的可见性,它应该在用户浏览页面时保持可见,直到用户再次隐藏。

+0

搜索会话 – xyz

+0

您是否尝试过使用cookie? – rath

+0

链接到一个旧问题时存在问题,因为Cookie大多数都是由新的存储技术取代。这就是说,可能还有其他更近期的类似问题。 –

回答

0

最好的解决办法,现在是使用localStorage

// read 
var hidden = localStorage['hidden']=='yes'; // defaults to false at first visit 

// write 
localStorage['hidden']= hidden ? 'yes' : 'no'; 

这些值存储,并提供为您的网站(更准确地说是起源)和所有页面都不太容易出现“清洁”(外部工具或在浏览器中)比Cookie。

+0

在选择使用html5方法之前,请务必检查兼容性图表(请参阅http://www.html5rocks.com/en/features/storage),并确定是否需要支持非支持的浏览器(例如:ie7) 。如果您需要支持较旧的浏览器,则无法使用。 –

+0

ie7不再是可支持的浏览器。在ie7上几乎没有现代页面是正确的,没有人关心。 –

+0

这就是为什么我没有 - 投票。但举个例子:我为一家没有升级到ie8的医院开发了基于网络的软件,因为它打破了现有的基于网络的软件。它们可能会在更新前至少一年。这不是一个理想的网页开发工作.. –

0

设置一个cookie。

阅读How do I set/unset cookie with jQuery?讨论如何做到这一点。讨论如何做到这一点。

Cookie允许您跟踪用户偏好客户端,因此您不必依赖基于服务器的代码。