当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 不必需的样式脚本文件导致页面不能及时更新

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 不必需的样式脚本文件导致页面不能及时更新


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 120 ::
收藏到网摘: n/a

在开发过程中,有时遇到由于缓存问题导致页面不能及时更新,有时页面引入了不必需的样式脚本文件,有时由于文件太多,字节过大导致页面的性能缓慢,为了解决这些问题,个人设想了一个初步的解决方案。

解决方案如下:

 

描述

备注

资源级别

    页面的资源级别:

  1. 全局级(Common)
  2. 模块级(Module)
  3. 页面级(Page)

 

优化方案

    优化主要从以下几个方面:

  1. 减少单个文件的字节大小
  2. 减少文件的个数(即减少http请求数)

     

其他的优化是从开发技巧上进行的,取决于专业水平

    文件输出方案

  1. 合并
  2. 压缩

    基于资源级别及优化方案,制定以下4种方案:

    1、直接引用单个文件依次引入(<link/>、<script/>)

    2、基于1,进行单个文件压缩

    3、按照资源级别合并成新的单个文件

    4、基于3,进行合并后的文件压缩



     

思考点

方案3: 如何确定合并的文件个数?


缓存问题

采用时间戳后缀

 

f2econfig_json

配置文件:

var f2eJson={
            "Version":"v3",//版本

"Update":"20091015",//根据时间戳更新缓存

"Compress":"1",//文件输出方案(1,2,3,4)

"Common":[//全站公共样式

  "common/global.css"

],

"Module":{ //模块及样式

       "模块1":["product,.css"]

},

"Page":{//每个页面所拥有的样式

       "index.php":["","sys/index.css"],

         //第一个元素存储模块引用名称,无则留空

       "search.php":["模块1","product/search.css"]

       //引用多个模块,用 “,”隔开,比如:   模块1,模块2

 }

}

  1. php有专门的json转换库
  2. js的配置结构同css的配置json

f2engine.php

   1、读取json配置文件,转化成php数组
   2、根据每个页面的资源参数,查找该页面拥有的样式资源
   3、根据文件输出方案,进行处理
   4、在页面上输出
  1. 配置文件没有更新的情况下,只解析一次json为数组
  2. 只解析一次资源,并将结果保存,供下次直接使用

     

例子

    比如search.php这个页面的样式引用

     

  1. 根据页面找到页面级资源: Page["search.php"]
  2. 根据该数组的第一个值查找所引用的模块样式
  3. 根据配置文件中的“Compress”值确定文件输出方案,并进行处理
  4. 在页面上进行输出

    //全站样式 common

    <link type="text/css" href="common/global.pack.css?20091015" rel="stylesheet" />

    //模块样式 module

    <link type="text/css" href="product.pack.css?20091015" rel="stylesheet" />

    //页面样式 page

    <link type="text/css" href="product/serach.pack.css?20091015" rel="stylesheet" />

     

    注:压缩后文件名称变为   search.pack.css

     

 

代码在开发中。欢迎大家一起探讨指教下。