這篇文章主要介紹了關於實現CSS覆蓋率測試腳本的程式碼,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
這裡我們只求CSS規則的覆蓋率,所以訪問querySelectorAll().length 即可。透過排序就可看出各個CSS使用情況
document.styleSheets裡保存了目前頁面上所有CSS規則的集合。透過它可以遍歷出頁面
var usage = []; var sheets = document.styleSheets; for(var i = sheets.length - 1; i != -1; i--) { var rules = sheets[i].rules; for(var j = rules.length - 1; j != -1; j--) { var rule = rules[j]; var text = rule.selectorText; usage.push({name: text, count: document.querySelectorAll(text).length}); } } usage.sort(function(a, b){return a.count - b.count}); for(var i = usage.length - 1; i != -1; i--) { console.log("选择器:" + usage[i].name + "\n\t匹配数:" + usage[i].count); }
呼出F12,把程式碼黏到console裡回車即可。
當然由於權限問題,外部匯入的CSS無論如何都存取不到,暫時先不考慮了。至於不支援styleSheets的破IE嘛,可以考慮用expression或是behaviour.htc,改天試試看。
純JS實作就到此。以後配合本地程式實現外部CSS的分析。
順便貼個測試結果:
哪些CSS沒用到一目了然:
當然,0匹配並不代表它就是沒用的。最典型的例子就是:hover,只有滑鼠移上去才會匹配。還有透過className控制,[attr=],#動態ID,動態元素。 。 。 。等等等等的樣式都不是輕易能搭配到。
所以以上程式碼意義不大,而且目前主流瀏覽器都內建Profiles功能,並且能即時追蹤選擇器匹配的元素數,所以做個IE版本的才有些意義:)
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
#
以上是實現CSS覆蓋率測試腳本的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在本文中,我們發現PagesPeed如何計算其關鍵速度分數。速度已成為提高收入和降低遺棄率的關鍵因素的關鍵因素,這已經不是什麼秘密了。現在,Google使用頁面速度作為排名因素,許多ORGA

建立和維護自己的網站是一個好主意。您不僅擁有自己的平台,而且還可以在此過程中嘗試Web技術。

在本週的綜述中,可變字體獲得傾斜,新的瀏覽器擴展名以及CSS模塊的第一個版本。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境