他のウェブサイトやフォーラムに配置できるウィジェットを作成したいと思います。JavaScriptとID衝突でウェブマスター向けのウィジェット
<script type="text/javascript" src="http://example.com/x.js" />
<div id="myid"></div>
しかし、問題がある - 誰かが1つのウェブサイト上で2つの以上のこのようなウィジェットを置くとき、彼らがためにIDを正しく動作しませんが。
このような状況を防ぐにはどうすればよいですか?
JSからこのdivにアクセスする必要があるため、クラスを使用できません。 ランダムに生成された数値をIDの末尾に追加することを考えましたが、まだID衝突の可能性があります(小さいですが、あります)。
まあ、複数のウィジェットが必要なときに、複数のSCRIPT要素を貼り付けることは望ましくありません。 SCRIPT要素は、JavaScriptファイルが1つだけ存在するため、1回だけ存在する必要があります。ですから、あなたがしたいことは、複数のウィジェットのためのメカニズムを持つことです。例えば、ユーザはSCRIPT要素を1回だけ(好ましくはページの最下部に)貼り付け、ページ上のすべてのウィジェットインスタンスに対してDIV要素を貼り付けます。あなたは**このためにクラスを使うことができます**。スクリプトはクラス名でDIVを取得し、そのDIVごとにコードを実行します。 –