我正在创建一个基于Web的应用程序,它将在计算机和手持设备上运行。
我正在为PC编写两个css文件,为手持设备编写另一个css文件。
在onload事件中我调用外部javascript我编写了代码,根据用户代理动态加载css。
当我在google chrome开发人员选项上运行我的应用程序来审核页面时,它说要避免从javascript加载CSS。可以请任何人告诉我这种方法在性能方面是否正确,还是有任何其他解决方案。
答案 0 :(得分:0)
您需要了解响应式网页设计。
响应式网页设计(通常缩写为RWD)是一种网页设计方法,其中精心制作网站以提供最佳观看体验 - 轻松阅读和导航,只需最少的调整大小,平移,并滚动浏览各种设备(从台式计算机显示器到手机)。 参考:http://en.wikipedia.org/wiki/Responsive_web_design
响应式网页设计教程:http://webdesignerwall.com/tutorials/responsive-design-in-3-steps
答案 1 :(得分:0)
我从该警告中理解的是,您使用标记来代替使用JavaScript来加载CSS文件。
实现此目的的一种方法是从JS向body元素添加一个类,并在CSS中使用该类来确定元素如何根据设备进行样式设置。另一种方法是对dekstop和mobile使用不同的CSS媒体查询。
大部分时间(如果不总是),您可以避免从JS加载CSS,并且您可以在一个文件中缩小所有内容以进一步提高性能。
作为一般性提示,我总是尽可能地使用CSS,并且响应式设计完全可以在没有JS的情况下完成。
答案 2 :(得分:0)
你知道Media Queries吗?
答案 3 :(得分:0)
正如其他人所建议的那样,您可以使用自适应布局,媒体查询,服务器端用户代理检测或它们的组合,在桌面和移动浏览器中提供良好的体验。
但你也想知道你是否采取了错误的方法,以下是为什么它可能不是最佳方法的一些原因:
如果您要定位现代浏览器,则应尝试使用自适应布局和媒体查询。尽量避免用户代理字符串检测,但如果您需要将它们用于边缘情况,请将其作为原始请求的一部分处理服务器端。