私は、ユーザーがアクセスできる Web ページにコンテンツを埋め込むことができるシステムに取り組んでいます。
概念的には、ユーザーは自分のページに特定の ID (「myId」と呼びましょう) を持つ div を作成し、基本的に「myId」にマークアップを挿入する私が制御する JavaScript ファイルを含めます。
返されるマークアップには、インライン スタイルを持つ div が含まれます。このコンテンツを自分のページに埋め込んでいるユーザーが CSS スタイルを上書きすることを許可できません。
CSS 固有性、!Important などに関する何百もの記事やスレッドを読みました。ユーザーがスタイルをオーバーライドできないようにする唯一の方法は、iFrame を使用することです。
以下は、数人の同僚と私が飛び回っている 3 つの記事です。 http://weblog.bocoup.com/3pjs-css-defense/ https://speakerdeck.com/antonkovalyov/achiving-harmony-with-third-party-javascript http://weblog.bocoup.com/3pjs-css -配達/
懸念の 1 つは、iOS が iFrame のサポートを停止することであり、正直なところ、私たちは長年 iFrame を使用しないように言われてきました。完璧で唯一の解決策のように見えますが、実際には「ハッキー」に聞こえます。
他のソリューションについて洞察を持っている人はいますか? 私は、linkedIn がどのように「linkedIn ボタンで接続」を埋め込むかを調べました。それらは単にすべてのプロパティ値を !important でラップしているだけです (a) 非常にハッキーに見え、b) 宣言されていないプロパティと値を考慮していません)。