Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
響用戶訪問的最大部分是前端的頁面。網(wǎng)站的劃分一般為二:前端和后臺。我們可以理解成后臺是用來實現(xiàn)網(wǎng)站的功能的,比如:實現(xiàn)用戶注冊,用戶能夠為文章發(fā)表評論等等。而前端呢?其實應(yīng)該是屬于功能的表現(xiàn)。
而我們建設(shè)網(wǎng)站的目的是什么呢?不就是為了讓目標(biāo)人群來訪問嗎?所以我們可以理解成前端才是真正和用戶接觸的。
除了后臺需要在性能上做優(yōu)化外,其實前端的頁面更需要在性能優(yōu)化上下功夫,只有這樣才能給我們的用戶帶來更好的用戶體驗。不僅僅如此,如果前端優(yōu)化得好,他不僅可以為企業(yè)節(jié)約成本,他還能給用戶帶來更多的用戶,因為增強的用戶體驗。說了這么多,那么我們應(yīng)該如何對我們前端的頁面進(jìn)行性能優(yōu)化呢?
前端性能優(yōu)化的方法?
一、content方面
1,減少HTTP請求:合并文件、CSS精靈、inline Image
2,減少DNS查詢:DNS查詢完成之前瀏覽器不能從這個主機(jī)下載任何任何文件。方法:DNS緩存、將資源分布到恰當(dāng)數(shù)量的主機(jī)名,平衡并行下載和DNS查詢
3,避免重定向:多余的中間訪問
4,使Ajax可緩存
5,非必須組件延遲加載
6,未來所需組件預(yù)加載
7,減少DOM元素數(shù)量
8,將資源放到不同的域下:瀏覽器同時從一個域下載資源的數(shù)目有限,增加域可以提高并行下載量
9,減少iframe數(shù)量
10,不要404
二、Server方面
1,使用CDN
2,添加Expires或者Cache-Control響應(yīng)頭
3,對組件使用Gzip壓縮
4,配置ETag
5,F(xiàn)lush Buffer Early
6,Ajax使用GET進(jìn)行請求
7,避免空src的img標(biāo)簽
三、Cookie方面
1,減小cookie大小
2,引入資源的域名不要包含cookie
四、css方面
1,將樣式表放到頁面頂部
2,不使用CSS表達(dá)式
3,使用不使用@import
4,不使用IE的Filter
五、Javascript方面
1,將腳本放到頁面底部
2,將javascript和css從外部引入
3,壓縮javascript和css
4,刪除不需要的腳本
5,減少DOM訪問
6,合理設(shè)計事件監(jiān)聽器
六、圖片方面
1,優(yōu)化圖片:根據(jù)實際顏色需要選擇色深、壓縮
2,優(yōu)化css精靈
3,不要在HTML中拉伸圖片
4,保證favicon.ico小并且可緩存
七、移動方面
1,保證組件小于25k
2,Pack Components into a Multipart Document
好了,我就談這些,這些東西也是我的一些簡單的看法,當(dāng)然,你可能不贊成我說的,或者你有更好的建議,你可以單獨聯(lián)系我,也可以在這帖子后面給我評論,或者叫留言。
近有客戶在linux系統(tǒng)部署皕杰報表后發(fā)現(xiàn)總有高度拉伸不到位的情況發(fā)生,可是我們自己卻無論怎么測試都不能重現(xiàn)問題。不能重現(xiàn)問題,就不好找出解決問題的方法。
于是要來了這張問題表的html源代碼,在瀏覽器中打開后用F12檢查,發(fā)現(xiàn)這個單元格的拉伸高度計算不正確。見下圖:
是什么原因?qū)е碌挠嬎沐e誤呢?我們分析有兩種可能,一是所用的皕杰報表版本太老,二是計算高度的依據(jù)缺失,而計算拉伸高度的依據(jù)是字體和字號。
檢查了客戶使用的版本號沒有問題,但在linux系統(tǒng)里卻只安裝了宋體,其它中文字體都沒有,而在報表里選擇的字體卻是微軟雅黑,計算的依據(jù)沒了,系統(tǒng)所以計算出的拉伸高度就是錯的了。讓用戶把報表里的字體改成宋體,再測試?yán)旄叨茸兇罅艘稽c,但是還是沒有完全拉開,我們判斷是jre里也沒有宋體,理論上在jre里安裝宋體后拉伸問題就會得到解決。
因而我們給了兩個解決方案:一是在linux系統(tǒng)中和jre中安裝所用的中文字體,方法按linux系統(tǒng)及安裝jdk的基本要求,這里不做說明。二是改這個單元格的css,讓單元格廢棄計算的拉伸高度,改為自動拉伸。
在皕杰報表設(shè)計器全局屬性web資源引用中添加:
<style type="text/css">
.expand div{
height: auto !important;
}
</style>
在設(shè)計器這個單元格的屬性css樣式里添加expand。
用戶覺得jre中安裝中文字體比較麻煩,決定采用方法二測試。部署后我們看到單元格已經(jīng)正常拉伸了,用F12檢查一下運行的css,果然是廢棄了計算的高度,而采用了我們新增的css格式。見圖:
至此高度拉伸不到位問題得以解決。但我們認(rèn)為最好的解決方案還是方法一,把要用的中文字體安裝上,避免產(chǎn)生錯誤的計算結(jié)果。
evExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創(chuàng)建具有影響力的業(yè)務(wù)解決方案。DevExpress WinForms能完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序,無論是Office風(fēng)格的界面,還是分析處理大批量的業(yè)務(wù)數(shù)據(jù),它都能輕松勝任!
DevExpress WinForm 近日正式發(fā)布了2022年第一個重大版本——v22.1,此版本也正式升級了之前版本中發(fā)布的HTML CSS模板功能,歡迎下載最新版體驗!
DevExpress WinForms Subscription官方最新版免費下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網(wǎng)
v22.1 為我們的WinForms ListBox、ComboBox和Alert控件引入了 HTML 和 CSS 標(biāo)記支持,使用HtmlTemplates屬性定義可應(yīng)用于項目的HTML-CSS模板集合,閱讀以下文章:
處理以下事件以響應(yīng)針對 HTML UI 元素的鼠標(biāo)操作:
您現(xiàn)在可以將存儲庫項目包裝在 <input> 標(biāo)記內(nèi)。
'name' 屬性按名稱引用存儲庫項,'value' 屬性指定數(shù)據(jù)字段名稱。
HTML
<div class='default-avatar-container' hidden='${HasPhoto}'>
<input class='default-avatar' name='pictureEdit' value='${Photo}' />
<a class='choose-photo' id='choose_Photo'>Choose a photo</a>
</div>
<div class='default-avatar-container avatar-container' hidden='${IsDefaultPhoto}'>
<input class='avatar' name='pictureEdit' value='${Photo}' />
</div>
<div class='input-box'>
<input class='input' name='emailEdit' value='${Email}'/>
</div>
我們的Template Designer 在包括'In-place Editor Repository' 選項卡,打開此選項卡來創(chuàng)建要在 HTML 模板中引用的存儲庫項目。
HTML 模板設(shè)計器現(xiàn)在附帶以下選項:
我們添加了一個新的TileViewOptionsHtmlTemplate.ItemAutoHeight 選項來支持由HTML和基于CSS模板呈現(xiàn)的圖塊的自動高度模式,在自動高度模式下,磁貼會垂直拉伸以完全顯示內(nèi)容。
我們支持以下 CSS 屬性:
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。