다른 웹 사이트/포럼에 배치 할 수있는 위젯을 만들고 싶습니다.자바 스크립트 및 ID 충돌 웹 마스터 용 위젯
<script type="text/javascript" src="http://example.com/x.js" />
<div id="myid"></div>
그러나 문제가있다 - 사람이 하나 개의 웹 사이트에 두 개 이상의 같은 위젯을 넣을 때 때문에 ID의 제대로 작동하지 않습니다는.
이러한 상황을 방지하려면 어떻게해야합니까?
JS에서이 div에 액세스해야하므로 클래스를 사용할 수 없습니다. ID 끝에 임의로 생성 된 숫자를 추가하는 방법에 대해 생각했지만 여전히 ID 충돌 가능성이 있습니다 (작지만,있을 수 있습니다).
글쎄, 사용자가 여러 위젯을 원할 때 여러 개의 SCRIPT 요소를 붙여 넣기를 원하지는 않습니다. SCRIPT 요소는 JavaScript 파일이 하나뿐이므로 한 번만 존재해야합니다. 그래서, 당신이하고 싶은 것은 여러 위젯을위한 메커니즘을 가지고 있습니다. 예를 들어, 사용자는 SCRIPT 요소를 한 번만 (페이지의 맨 아래에) 붙여 넣은 다음 페이지의 모든 위젯 인스턴스에 대해 DIV 요소를 붙여 넣습니다. 당신은 **이 수업을 ** 사용할 수 있습니다. 그런 다음 스크립트는 클래스 이름으로 DIV를 가져온 다음 해당 DIV에 대한 코드를 실행합니다. –