yii 加载布局css为什么会有缓存

html-css021

yii 加载布局css为什么会有缓存,第1张

css采用外链样式则通过缓存在下次打开网页时加快网页的打开速度不用再次下载css样式表,如果是内联样式则在打开网页时每次都需要同整个网页文件一样下载完成后方可正常浏览整个网页,所以一般都是采用的外链css样式表,一个是为了网页的打开速度一个就是为了方便后期维护

如有问题可继续追问,纯手打,望采纳 谢谢!

提高网站页面的加载速度的方法其实有很多,那本文主要从下面四个角度进行讨论,分享常用的提高网页加载速度的技巧:

一、网页压缩技术

对于网页压缩而言,相信各位站长都比较熟悉,主要是启用服务器Gzip,对页面Gzip压缩,减少元素的体积,从而减少数据的传输,进而提高网页的加载速度。

二、Css优化

(1)css位置

CSS说明如果出现在<body>后,页面需要重新渲染,打开速度受到影响。所有css定义代码的位置要放到网站<body>之前。

(2)css sprite技术

网站上的一些图片可以采用css sprite技术进行合并,减少加载请求次数,从而提高网页的加载速度。

(3)css代码优化

通过对css代码属性的简写、移除多余的结构(frameworks)和重设(resets)等一系列的方法和技巧来简化css代码,减小css文件的大小。

三、JS优化

(1)JS位置

网页代码中对js进行优化的时候,建议将JS放在页面最后,这样可以加快页面打开速度。

(2)合并JS

合并相同域名下的js,通过减少网络连接次数从而提高网页的打开速度。

(3)LazyLoad(延迟加载)技术

Lazy Load是一个用JavaScript 编写的 jQuery 插件,它可以延迟加载长页面中的图片。在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置。

四、缓存静态资源

通过设置浏览器缓存,将css、js等不太经常更新的文件缓存在浏览器端,这样同一访客再次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必每次都从服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约服务器流量。

我们在网页制作中会碰到如果我上传js,css之后用户以前打开过页面那么这样不会加载新的css或js文件而是加载缓存中的文件,那么我要怎么让浏览器不加载缓存CSS和JS呢?下面一聚教程小编来给各位介绍。

现在大多数浏览器都会缓存网站上的图片、CSS 和 JS 文件,以提高加载速度。当你的网站修改 CSS 和 JS 的时候往往因为缓存的原因无法立刻生效。

这样旧的 CSS 和新的 Html 就可能会导致错误,这里有个小技巧,可以保证浏览器不会缓存 CSS 和 JS,只需要在文件结尾随便加点参数即可,这样浏览器就会认为这是不同的文件。

代码如下

复制代码

<link rel="stylesheet" type="text/css" href="/style.css?ver=123" />

如果用 PHP 把现在的时间作为版本号,这样每次都会重新加载:

代码如下

复制代码

<link rel="stylesheet" type="text/css" href="/style.css?ver=<?php echo time()?>" />

当然这样做会付出代价,完全打破浏览器的缓存机制,导致每次都会重新加载相同的 CSS 和 JS

最好的解决方案应该是只有在 CSS 和 JS 文件被修改的时候才会重新加载。这里要介绍一个 PHP 的 filemtime() 函数,filemtime() 函数可以返回文件最后被修改的时间,这样只有在修改文件的时候版本才会变化。

代码如下

复制代码

<?php $css = '/style.css' ?>

<link rel="stylesheet" type="text/css" href="?ver=<?php echo $css . filemtime( $css )?>" />

WordPress

如果你使用 WordPress,可以通过 WordPress 提供的脚本排队机制挂载脚本:

代码如下

复制代码

$css = get_stylesheet_directory() . '/css/style.css'

wp_enqueue_style( 'style', $css, NULL, filemtime( $css ) )