有没有办法确定打开多少个浏览器实例,并在每个打开的标签页中更新用户首选项?
我只是在检查问题的解决方案,假设用户已经打开了多个标签。并且他在其中一个标签中更新了用户偏好设置,然后所有打开的标签页都可以使用相同的偏好设置。
请注明"用户偏好"实际上是特定于应用程序。
例如,假设用户打开了两个选项卡,然后在其中一个选项卡中,他从法语中选择语言为英语,那么如果他点击不同选项卡上的任何操作,他应该被赋予语言仅限英语。
由于我们无法清除浏览器缓存,因此必须有一些方法来完成此操作。
答案 0 :(得分:1)
您可以使用Storage API在该浏览器上存储您的用户偏好设置。根据您的需要选择localstorage
或sessionstorage
。
还有一个名为StorageEvent的事件,如果存储发生更改,则会触发该事件。因此,您可以处理交叉表通知。
有一些包含Storage API的ember插件。看看那些插件。例如ember-local-storage。
最后但同样重要的是,还要考虑在服务器和浏览器上存储用户首选项。
答案 1 :(得分:0)
会话 - 是您需要做的事情,也可能是Cookie。因此,如果用户选择“英语”
a)在选择中向服务器发送一些ajax,将其会话语言设置为英语
b)通过javascript或者即使是ajax也将cookie设置为lanaguage ='English'。
然后,当他刷新这些标签时,您必须在后续标签上将正确的语言发回给他。