著互聯網的發展,短劇成為了人們生活中不可或缺的一部分。短劇網站因其豐富的內容和便捷的觀看方式而備受歡迎,然而,隨著網站用戶量的增加,其性能和訪問速度也成為了一個亟需解決的問題。在這樣的背景下,優化網站代碼是提升網站性能與訪問速度的重要策略。
對于短劇網站來說,減少HTTP請求是一個重要的優化策略。當用戶訪問一個網站時,會涉及到多個文件的請求,如HTML、CSS、JavaScript、圖片等。每個文件都需要進行一次HTTP請求,影響了網站的加載速度。通過合并和壓縮這些文件,可以減少HTTP請求的數量,提升網站的加載速度。同時,使用瀏覽器緩存可以使用戶再次訪問時節省下載時間,進一步提高訪問體驗。
進行代碼優化可以減少網站的頁面大小,從而提升性能。優化CSS和JavaScript代碼,刪除冗余和重復的代碼,可以減少整個頁面的加載時間。同時,盡量避免使用大型的圖片和視頻,或者對其進行壓縮處理,可以減小頁面的大小,提高網站的加載速度。
使用異步加載技術也是優化網站代碼的一種策略。將不影響網頁渲染的資源(如JavaScript文件)放在網頁底部,而不是頭部,可以避免阻塞頁面的加載。這樣一來,頁面的首次加載速度將會大大提升。
對于短劇網站來說,服務器的選擇和配置也是影響性能的重要因素。選擇適合網站規模和流量的服務器,并進行合理的配置,保證服務器的穩定運行和優化網站的訪問速度。
通過以上的優化策略,短劇網站可以顯著提升性能和訪問速度,進一步提高用戶體驗。對于網站開發者和運營者來說,需要時刻關注網站性能,并不斷優化代碼,以滿足用戶對快速訪問的需求。
短劇網站的代碼優化是提升網站性能與訪問速度的重要策略。通過減少HTTP請求、代碼優化、異步加載和服務器配置等措施,可以顯著提升網站的性能和訪問速度,為用戶提供更好的體驗。
短劇系統搭建小編推薦:
https://www.zongqi.cc/product/view8958.html
為您提供縱企短劇網站建設,短劇系統搭建,短劇小程序搭建及短劇APP制作服務。
能,這個詞如今被炒的很熱,也是每個開發者,由“知道”、“會做”之后必經的一個“怎樣做好”的階段。性能關乎用戶在不同設備和不同網絡狀態下的體驗。也被多方面因素所影響。此文說說css方面怎樣做到高性能。
高性能css
Html和css本身的性能問題并不突出,在提高可讀性和可維護性的前提下,如果能讓代碼運行和解析的速度更快,則是錦上添花了。
一、css相關的圖片處理
現在的網頁當中,圖片所占的比重以及它的重要性大家都知道。那么如何處理好圖片以及如何為圖片設置樣式,才能讓用戶打開網頁時體驗更好呢?下面給出一些意見:
(1)不給圖片設置尺寸
在我個人的從業經歷當中,有過這樣的情況,我按照設計稿做好了頁面,交給后臺去測試,他就突然跑過來跟我說:hi,你看,這兒出狀況了,我一看,壞菜,圖片出格了,我才想起沒有給圖片定義寬高(直接從設計稿里切的也不需要),然后就犯錯了似的在css樣式里定義了寬高。以至于后來我把這個作為下次再做頁面時候的注意事項。當我看到這一條意見的時候,才更知一二。
來看解釋,第一、設計人員為了畫面的精美,會制作一些超出需求尺寸的圖片;第二、同一張圖片可能會在頁面不同地方多次使用,比如縮略圖、正常圖、大圖。問題來了,如果圖片原始尺寸和實際需求不同,在使用過程中就會存在性能問題,利用樣式縮放會帶來cpu的額外計算過程,增加了圖片在瀏覽器的渲染時間,網絡傳輸過程也會占更多帶寬,增加下載時間。因此,最佳做法是,為需要的部分單獨做一套圖片,初始頁面加載時就能更快展示。
(2)使用css“雪碧圖“
是將零散的圖片合并成一張大圖,在利用css進行背景定位。好處是減少請求數,提高了圖片整體的加載速度。
但它也存在一些缺點:
比如,多張圖片合并成大圖,需要精確計算,仔細的調整位置,單純手工制作是一件很復雜的事情。(所幸現在有一些工具可以幫我們做)
另外,維護過程復雜,要盡量讓已有的圖片保持原來的位置不變,如果是背景圖的尺寸發生變化導致原有區域無法放置,那就只好放棄,如果非要在原有位置修改,則剩余的圖片樣式都需要修改,是很繁瑣的過程。新加的圖片最好放在最后面。
還有就是使用不當會導致性能問題,最大的問題就是內存消耗。如果制作過程不做任何的規劃,隨意擺放,則可能會使圖片變得相當大,從而很占內存。
下面是一些最佳實踐:
1、合理組織“雪碧”圖
如果要把所有的圖片放在一張圖上面,也會有不妥,維護方面也不會很方便。組織背景圖主要按照模塊和背景圖的風格來劃分。比如,作為展示的縮略圖放在一起,評論、點贊、上下箭頭等圖標放在一起等。
2、在項目后期應用css sprite技術
因為一般在開發過程中,會比較頻繁的修改或者更換圖片,如果這個時候使用sprite技術,就會增加很多開發成本。
3、合理控制背景圖單元間的距離及背景圖位置
這個原則是為了防止在背景圖比元素大小更小的時候,區域出現別的無關背景圖
4、控制“雪碧”圖的尺寸和大小
因為大尺寸的圖片會占用大量的內存,所以要控制在合理尺寸,推薦長寬相乘不超過2500,大小在200kb內
5、借助相關工具處理sprite
二、使用高效css選擇器
簡單來說,能被瀏覽器快速解析和匹配的css選擇器,就是高效的選擇器。
首先要知道瀏覽器如何解析css
舉個例子:.nav ul.list li div{}
我們常見的思維是,先去找到nav這個類,再找類包含的ul,再找ul中類為list的后代所有li中所有的div,簡而言之,就是從左到右。可事實是這樣么?么?么?~
事實是相反的!意味著什么呢?就是說它不是從第一個開始去慢慢的縮小范圍,而是從div這個“裸奔”的盒子開始,相當于遍歷,然后再找到li,以此類推,好吧不用我形容你應該知道這當中的消耗。理解這一原理非常重要,高效的選擇器意味著匹配更快,查找次數更少。所以我們定義選擇器時,應該讓第一次匹配時的數量達到最少,并且讓整體的匹配查找次數最少。
以上這些解釋恰恰遵循了這樣一些原則
(1)避免使用通配符
(2)避免使用標簽選擇器和單個屬性選擇器作為關鍵選擇器
(3)不要在id選擇器前加標簽名
(4)盡量不要在選擇符定義過多層級,層級越少,同時也降低了css和dom結構的耦合程度,提高樣式的可維護性
(ps:老實說上面的這些“禁忌”你是不是都有犯過?~)
做個小結,以上所說,有兩點需要知道,第一點在開頭就已經提到,css的性能問題表現的并不突出,特別是在小項目中,所以,可維護性為先;第二點是雖然定義id選擇器,有唯一性的優勢,但是一個頁面只能定義唯一id,定義過多id會使重用性降低,維護更困難,所以不建議多用id。
三、減少css的代碼量
提高網站整體加載速度的一個重要手段,就是提高代碼文件的網絡傳輸速度。除了代碼壓縮,精簡代碼也是一種手段。
(1)定義簡潔的css規則
合并相關規則,定義簡潔的屬性值
合并規則是指比如font-family、font-size、font-weight等等,可以合并為font。 簡潔屬性值,比如顏色值:color,#33AAFF可以簡化為#3AF等。
(2)合并相同定義
網頁中總會有一些模塊有較高相似度,則可把同樣的部分共用一次定義,不同的部分再單獨定義。而且在css中,很多屬性是可以繼承的,則只需要在合適的地方定義一次即可。
(3)刪除無效的定義
無效的定義,并不會影響頁面功能顯示,但會影響頁面展示的性能,增加代碼量的同時,也增加了瀏覽器解析代碼的時間。無效的定義包括無效的規則及無效的樣式屬性,一般是開發過程中引入的,而從直觀上無法判斷,這情況,可以用工具,chrome自帶的工具就可以查找css中的無效樣式。
綜上所述,css能夠用來提高性能的方法還是蠻多的,這里只提及三點,還有更多的提高性能的方法,后續待述,雖然css能夠提高性能,但我們很容易忽略它們,因為它們所帶來的影響似乎沒有那么明顯,而且,很多人可能為了圖方便,任意揮灑著自己的才華,想怎么寫就怎么寫,能達到效果就行,這也有點小消極哈,忘了你的優秀工程師目標了嗎?css規則雖不不難,真正寫好也不易,還是要有些追求極致的精神滴。諸君且寫且珍惜吧!~
做前端性能測試時較大的文件需要更多時間來下載,并可能導致我們的網站加載緩慢,從而導致用戶體驗欠佳。因此刪除JS和CSS中未被使用的代碼就很有必要了!Coverage工具就可以非常方便的實現這一需求。
Coverage 是chrome開發者工具中的一個功能,從字面意思上就可以知道它是可以用來檢測代碼在網站運行時有哪些js和css是已經在運行,而哪些js和css是還沒有用到的。我們可以在Chrome的開發者工具的source面板中將其啟動,選擇下圖中的三個點圖標,然后在菜單中選擇Coverage即可。
啟動Coverage后,點擊下圖中的刷新按鈕,就可以對當前頁面中所涉及的JS和CSS腳本進行代碼覆蓋率統計工作。
具體統計情況如下圖所示,最右邊顯示的是我們加載的css和js文件數量,紅色區域表示已運行的代碼,而藍色表示已加載但未運行的代碼。
通過coverage可用來發現頁面中尚未用到的js 和 css代碼,我們可以為用戶只提供必要的代碼,刪除沒有用到的代碼,這樣就可以提升頁面的性能,這對于找出可以進行拆分的腳本以及延遲加載非關鍵腳本來說非常有用的。
在這里給大家分享一個我遇到的一個難纏的問題
在chrome 116的source面板中,設置pretty print方式顯示代碼時,無法完全顯示具體的代碼利用率,即左側的紅藍線條會出現展示缺失(具體原因暫時未知),如上圖所示。
但是在chrome 90版本中這個問題是可以避免的,如下圖所示,我們可以清晰的看到哪些代碼執行了(藍色),哪些代碼沒有執行(紅色),所以想具體查看代碼利用率的同學使用chrome 90版本即可
我的每一篇文章都希望幫助讀者解決實際工作中遇到的問題!如果文章幫到了您,勞煩點贊、收藏、轉發!您的鼓勵是我不斷更新文章最大的動力!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。