我当前正在从事一个项目,用户降落在页面上以构建自定义循环地图。当用户选择地图的类型时,新的浏览器选项卡(这是要发生的,我对此事没有发言权)将使用特定的地图循环打开。有速度,启动和停止时间的控件,以及一个复选框,可以启用15分钟的自动刷新。目前,我使用jQuery捕获下拉列表和复选框,将值保存到cookie中,然后在页面刷新时加载这些值。
这显然可以正常工作,除了在气象学中,我可能需要两个地图打开和循环。有时甚至更多。如果我使用cookie,则第二个地图将使用该值作为第一个。如果我更改第二张地图的选项,则第一张地图将刷新这些选项。这不是理想的。
我看到会议和饼干一样。如果我要打开选项卡,这些值将通过每个地图循环持续存在。我的另一个选择是在URL上使用主题标签,并在其中选择的值并在刷新上解析。我想念什么吗?我宁愿不使用主题标签,因为它看起来很混乱,但是我不知道如何使用cookie中的不同值拥有多个选项卡。如果用户打开10个选项卡怎么办?我的问题是,对于此应用程序,哪个是实施的最佳解决方案?
我们在页面中使用JavaScript/jQuery和PHP。我们的产品必须与Chrome,Firefox和IE。
匹配与单个地图匹配的cookie数据的唯一ID。因此,map2上的option1变为map2option1
by tab您是指webbrowser选项卡,还是同一页面上的div?如果您的选项卡是一页上的元素,则只需使用uniq数据装饰它们
<div class="mytab" data-session="1">
//tab data
</div>
<div class="mytab" data-session="2">
//tab data
</div>
当您拒绝数据时:
$('.mytab[data-session]').each(function(){
$.post('/refres', { sessionId : $(this).data('session')}, function(html){
$(this).html(html);
})
});
如果在每个选项卡上使用新选项卡,则创建隐藏的会话键
<input type="hidden" value="@Guid.NewGuid().ToString()" id="sessionKey" />
在刷新上并保存将其传递给控制器。它是用户隐藏的