Javascript / jQueryを使用してWebページにHTML要素を追加し、それに合わせて外部CSS宣言を追加する場合は、これらの要素のIDとCSSクラス名がページに既に存在するものと競合しないようにする必要があります。たとえば、ページのどこかに「outerWrapper」や「nav」などのIDがすでにある可能性があり、新しいコンテンツにも同じ名前のIDが含まれている可能性があります。
独自のWebページに追加するコードを作成する場合、比較的簡単です。
ただし、サードパーティのWebサイトで使用できるコードを提供する場合は、ページですでに使用されているIDとクラス名を制御できず、将来ページに加えられる可能性のある変更を制御することはできません。 。
では、サードパーティが使用するコードを処理するときにこれらの競合を回避するためのベストプラクティスは何ですか?
これまでは単にiframeを使用してきましたが、それは理想的ではありません。
CSS子セレクターは、追加されたCSSが既存の要素/クラスに影響を与えるのを防ぐことができますが、新しい要素がすでにページ上にあるCSSによってスタイル設定されるのを防ぐことはできません。
追加したコンテンツのすべてのIDの前に、たとえば会社、製品名、またはコンテナー名を付けることが唯一の方法ですか?たとえば、ビデオプレーヤーJWPlayerは、コンテナー名の前にHTML5プレーヤーのすべての要素IDを付けます。
どんな考えでもありがたいです。