0

假设您有某种列表,并且您允许通过 CSS 将该列表呈现为列表或网格(通过不同的 CSS 类或数据属性)。由于这纯粹是一个渲染问题,它不需要由 Web 服务器(重新)处理,因此您也可以通过 JavaScript 在客户端简单地实现切换。

但是,假设您想保存客户端的视图模式选择,例如在localStorage. 现在当页面被渲染时,需要恢复适当的视图模式。

但是,为了防止从默认视图切换到已保存视图在内容高于首屏时可见,这里的最佳做法是什么?

考虑以下粗略示例:http: //jsfiddle.net/yaubvq8d/27/

这里用于更改视图模式并从 中加载保存的视图模式的 JavaScriptlocalStorage在正文的末尾,这显然不理想。为了可视化这个问题,我还集成了一个外部加载的 JavaScript,它会阻止页面呈现 2 秒 - 因此在实际执行用于管理视图模式的 JavaScript 之前至少需要 2 秒。在这两秒钟内,您首先会看到默认视图(即网格视图),然后它会切换到您之前选择的任何视图(要对此进行测试,您显然必须先单击“列表”,然后再次运行小提琴) .

我能想到的唯一明显的解决方案是在父容器(比如说主体)中定义视图模式,然后在父容器的起始标记之后执行 JavaScript 以从本地存储加载视图模式。

但是还有其他我可能会错过的最佳实践吗?

4

0 回答 0