自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CSS與JS性能問(wèn)題初步解決方案

開(kāi)發(fā) 前端
引入過(guò)多CSS和JS容易引起頁(yè)面加載緩慢。JS性能問(wèn)題一直是網(wǎng)頁(yè)速度的瓶頸,本文提供了一個(gè)初步解決方案。

在開(kāi)發(fā)過(guò)程中,有時(shí)遇到由于緩存問(wèn)題導(dǎo)致頁(yè)面不能及時(shí)更新,有時(shí)頁(yè)面引入了不必需的樣式腳本文件,有時(shí)由于文件太多,字節(jié)過(guò)大導(dǎo)致頁(yè)面的性能緩慢,為了解決這些問(wèn)題,個(gè)人為JS性能問(wèn)題設(shè)想了一個(gè)初步的解決方案。

JS性能問(wèn)題解決方案如下:

 

描述

備注

資源級(jí)別

    頁(yè)面的資源級(jí)別:

  1. 全局級(jí)(Common
  2. 模塊級(jí)(Module
  3. 頁(yè)面級(jí)(Page

 

優(yōu)化方案

    優(yōu)化主要從以下幾個(gè)方面:

  1. 減少單個(gè)文件的字節(jié)大小
  2. 減少文件的個(gè)數(shù)(即減少http請(qǐng)求數(shù))

     

其他的優(yōu)化是從開(kāi)發(fā)技巧上進(jìn)行的,取決于專業(yè)水平

    文件輸出方案

  1. 合并
  2. 壓縮

    基于資源級(jí)別及優(yōu)化方案,制定以下4種方案:

    1、直接引用單個(gè)文件依次引入(<link/>、<script/>

    2、基于1,進(jìn)行單個(gè)文件壓縮

    3、按照資源級(jí)別合并成新的單個(gè)文件

    4、基于3,進(jìn)行合并后的文件壓縮



     

思考點(diǎn)

方案3 如何確定合并的文件個(gè)數(shù)?


緩存問(wèn)題

采用時(shí)間戳后綴

 

f2econfig_json

配置文件:

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

"Update":"20091015",//根據(jù)時(shí)間戳更新緩存

"Compress":"1",//文件輸出方案(1,23,4

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

  "common/global.css"

],

"Module":{ //模塊及樣式

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

},

"Page":{//每個(gè)頁(yè)面所擁有的樣式

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

         //第一個(gè)元素存儲(chǔ)模塊引用名稱,無(wú)則留空

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

       //引用多個(gè)模塊,用 “,”隔開(kāi),比如:   模塊1,模塊2

 }

}

  1. php有專門(mén)的json轉(zhuǎn)換庫(kù)
  2. js的配置結(jié)構(gòu)同css的配置json

f2engine.php

   1、讀取json配置文件,轉(zhuǎn)化成php數(shù)組
   2、根據(jù)每個(gè)頁(yè)面的資源參數(shù),查找該頁(yè)面擁有的樣式資源
   3、根據(jù)文件輸出方案,進(jìn)行處理
   4、在頁(yè)面上輸出
  1. 配置文件沒(méi)有更新的情況下,只解析一次json為數(shù)組
  2. 只解析一次資源,并將結(jié)果保存,供下次直接使用

     

JS性能問(wèn)題解決的例子

    比如search.php這個(gè)頁(yè)面的樣式引用

     

  1. 根據(jù)頁(yè)面找到頁(yè)面級(jí)資源: Page["search.php"]
  2. 根據(jù)該數(shù)組的第一個(gè)值查找所引用的模塊樣式
  3. 根據(jù)配置文件中的“Compress”值確定文件輸出方案,并進(jìn)行處理
  4. 在頁(yè)面上進(jìn)行輸出

    //全站樣式 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" />

    //頁(yè)面樣式 page

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

     

    :壓縮后文件名稱變?yōu)?/SPAN>   search.pack.css

     

 

【編輯推薦】

  1. 通過(guò)CSS實(shí)現(xiàn)文字旋轉(zhuǎn)
  2. 高手總結(jié)CSS書(shū)寫(xiě)技巧
  3. CSS 3中的炫目新功能搶先預(yù)覽
  4. CSS 3備受期待的8大功能
  5. CSS網(wǎng)頁(yè)布局困擾新手的八個(gè)問(wèn)題
責(zé)任編輯:yangsai 來(lái)源: 博客園
相關(guān)推薦

2020-10-23 06:40:31

Node.js前端開(kāi)發(fā)

2022-04-07 07:31:30

CSSCSS Reset前端

2010-08-31 16:09:04

DIV+CSS

2010-08-26 14:00:28

CSSmargin

2017-02-15 09:40:38

JavaScript分析解決

2020-09-09 10:00:41

JavaScript前端瓶頸

2010-09-09 15:44:21

IEFFCSS

2024-11-08 13:47:35

中文亂碼配置

2010-09-07 09:08:03

DIV彈出層

2010-08-26 12:59:29

marginCSS

2010-08-26 10:56:16

CSStextarea

2024-12-02 01:16:53

2010-09-09 16:47:49

CSS paddingFirefox

2010-10-09 12:58:59

JS腳本兼容

2024-06-12 12:59:16

2010-08-23 14:06:57

DIV+CSS

2010-09-07 13:24:18

CSS

2010-09-02 15:18:42

CSSASP.NET

2022-04-19 06:27:13

CSS數(shù)學(xué)函數(shù)calc

2020-03-23 14:35:28

前端架構(gòu)應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)