Javascript 比较避免未格式化内容闪现的策略(fouc)

Javascript 比较避免未格式化内容闪现的策略(fouc),javascript,cookies,dhtml,api-design,fouc,Javascript,Cookies,Dhtml,Api Design,Fouc,我需要用cookie控制CSS: 当用户通过我在所有页面上包含的控件选择样式时,该设置需要保持,直到用户更改它或cookie过期 当用户返回时,应出现默认样式或FOUC 没有jquery或其他库或框架 在Windows上使用iIE、Firefox、Chrome、Opera、Safari;最后四个在MacOS上;iOS上的狩猎;Linux上的Firefox和Chrome) 将web字体绑定到特定的@class属性 按钮收缩包装其文本值 用于切换样式和显示cookie状态的复选框 我的第一个策略

我需要用cookie控制CSS:

  • 当用户通过我在所有页面上包含的控件选择样式时,该设置需要保持,直到用户更改它或cookie过期
  • 当用户返回时,应出现默认样式或FOUC
  • 没有jquery或其他库或框架
  • 在Windows上使用iIE、Firefox、Chrome、Opera、Safari;最后四个在MacOS上;iOS上的狩猎;Linux上的Firefox和Chrome)
  • 将web字体绑定到特定的@class属性
  • 按钮收缩包装其文本值
  • 用于切换样式和显示cookie状态的复选框
我的第一个策略是在元素上设置一个onload处理程序。我看过至少两种其他方法的讨论:

  • document.write
    在生成页面时在中创建样式表
  • 创建一组小样式表,并允许用户一次设置一个激活的样式表

如果您能建议我选择一种易于编码和维护的策略,并在我需要支持的浏览器中提供我需要的功能,我将不胜感激。

使用多种技术组合来避免根本原因,即:

参考资料


您可以尝试将此问题转发到@KevinBedell上-为什么您要将OP指向程序员?你是否阅读了程序员常见问题,看看它是否合适?“程序员”将自己描述为“对软件开发的概念性问题感兴趣的专业程序员”的地方。OP正在寻找“关于选择策略的建议”,这让我觉得它更适合那里。你不同意吗?谢谢,凯文。正如你所建议的,我交叉张贴,然后按照奥德的警告把它取下来。我并不是要就场地问题展开辩论,也不是要违反礼节,也不是要冒险;我只是希望得到一些编程指导。也许有人会在这里回应。。。