如何為特定DOM 元素提取HTML CSS JS:
像Web 開發人員一樣,檢查網站原始碼進行標記分析可能會很重要有洞察力。然而,當提取特定部分進行本地評估時,這個過程可能會變得乏味。複製單一元素和關聯的 CSS 可能很麻煩,而保存整個原始程式碼只是為了刪除不相關的程式碼,效率很低。
SnappySnippet:實用的解決方案
我開發 SnappySnippet 是為了解決這個問題。這個開源工具可在 GitHub 上找到,可以輕鬆地從最後檢查的 DOM 節點中提取 HTML CSS 程式碼。它還提供了與 CodePen 或 JSFiddle 直接共享程式碼的選項。
SnappySnippet 功能:
實作挑戰與解決方案:
創建 SnappySnippet 提出了一些挑戰。以下是我克服它們的方法:
取得符合的 CSS 規則:
最初,我嘗試從 CSS 檔案中擷取原始 CSS 規則。然而,這種方法導致選擇器不一致,使得程式碼提取在 HTML 片段的上下文中無效。
使用 getCompulatedStyle():
我將焦點轉移到 getCompulatedStyle() ,但所需的 CSS 隔離仍然難以實現。
問題1:分離CSS 與HTML
為了將CSS 與HTML 分開,我為選定的節點分配了唯一的ID,並使用這些ID 來創建有針對性的CSS 規則。
問題 2:刪除預設值
getCompulatedStyle() 傳回元素的所有 CSS 屬性和值,包括空白值和瀏覽器預設值。我創建了一個空 iframe 來提取預設樣式並從 HTML 程式碼段中刪除無關緊要的屬性。
問題 3:只保留簡寫屬性
我刪除了與簡寫等效的屬性增強程式碼可讀性。
問題 4:刪除前綴屬性
過度使用前綴屬性(-webkit-等)帶來了挑戰。我決定消除這些屬性,因為它們的相關性不確定並且通常是不必要的。
問題 5:組合相同的 CSS 法則
透過組合具有相同屬性和值的規則來最佳化重複的 CSS 規則,從而產生更緊湊的程式碼。
問題6:清理與縮排HTML
我利用jquery-clean 函式庫重新格式化HTML 程式碼,提高可讀性並刪除不需要的
問題7:過濾器彈性
使用者可以選擇從「設定」選單停用過濾器,為特定用例提供彈性。
以上是如何提取特定 DOM 元素的 HTML、CSS 和 JS,而不需要繁瑣的手動工作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!