具有用户首选项的多选项卡问题

时间:2016-10-17 11:36:15

标签: javascript jquery node.js ember.js tabs

有没有办法确定打开多少个浏览器实例,并在每个打开的标签页中更新用户首选项?

我只是在检查问题的解决方案,假设用户已经打开了多个标签。并且他在其中一个标签中更新了用户偏好设置,然后所有打开的标签页都可以使用相同的偏好设置。

请注明"用户偏好"实际上是特定于应用程序。

例如,假设用户打开了两个选项卡,然后在其中一个选项卡中,他从法语中选择语言为英语,那么如果他点击不同选项卡上的任何操作,他应该被赋予语言仅限英语。

由于我们无法清除浏览器缓存,因此必须有一些方法来完成此操作。

2 个答案:

答案 0 :(得分:1)

您可以使用Storage API在该浏览器上存储您的用户偏好设置。根据您的需要选择localstoragesessionstorage

还有一个名为StorageEvent的事件,如果存储发生更改,则会触发该事件。因此,您可以处理交叉表通知。

有一些包含Storage API的ember插件。看看那些插件。例如ember-local-storage

最后但同样重要的是,还要考虑在服务器和浏览器上存储用户首选项。

答案 1 :(得分:0)

会话 - 是您需要做的事情,也可能是Cookie。因此,如果用户选择“英语”

a)在选择中向服务器发送一些ajax,将其会话语言设置为英语

b)通过javascript或者即使是ajax也将cookie设置为lanaguage ='English'。

然后,当他刷新这些标签时,您必须在后续标签上将正确的语言发回给他。