DOM 要素から HTML CSS JS を選択的にコピーするという課題を解決する
開発者は、多くの場合、Web サイト コードの特定のセクションを調べて利用する必要に直面します。個人的なプロジェクト用。個々の要素と関連するスタイルのコピーには時間がかかる場合があります。この課題に対処するために、私たちは任意の要素の HTML CSS JS を抽出できるツールを探しました。
答え: SnappySnippet
答えは SnappySnippet にあります。開発され、GitHub で利用できるツール。これにより、ユーザーは最近検査した DOM ノードから HTML、CSS、および JS を抽出できるようになります。さらに、この抽出されたコードを CodePen または JSFiddle に直接送信するオプションも提供します。
主な機能
SnappySnippet は、次のような幅広い機能を誇ります。
実装の課題と解決策
SnappySnippet の実装には、いくつかの障害を克服する必要がありました。
1. getMatchedCSSRules() の制限事項:
当初、CSS ファイルから元の CSS ルールを取得することに重点が置かれていましたが、分離された HTML スニペットのコンテキストでの CSS セレクターの一致に問題があるため、このアプローチは効果的ではないことが判明しました。
2. getComputedStyle() の考慮事項:
次の試みには getComputedStyle() の使用が含まれていましたが、HTML から CSS を分離する必要がありました。
2.1 CSS と HTML の分離:
ID は
2.2 デフォルト プロパティの削除:
getComputedStyle() は、ブラウザのデフォルトを含むすべての可能なプロパティを返します。この解決策には、Web サイトのコンテキスト内の要素スタイルと CSS スタイルシートのない空の iframe 内の要素スタイルを比較することが含まれ、デフォルトのプロパティの識別と削除が可能になりました。
2.3 接頭辞付きプロパティの削除:
-webkit- などのプレフィックス付きプロパティは、多くの場合不要であり、独自の機能を示している可能性があるため、特定され削除されました。
2.4 同じ CSS ルールの結合:
同一の CSS ルールは、削減するために結合されました。コード サイズを削減し、読みやすさを向上させます。
2.5 HTML のクリーンアップと書式設定:
outerHTML プロパティはコードを元の形式で返すため、JavaScript ライブラリ (jquery-clean) を使用して再フォーマットする必要があります。
2.6 オプションのフィルター:
柔軟性を確保するために、すべてのフィルターは [設定] メニューからユーザーが構成でき、個々の要件に基づいてカスタマイズできます。
以上がSnappySnippet は Web サイト要素から HTML CSS JS コードを抽出するのにどのように役立ちますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。