2014-09-01 3 views
0

내 HTML 파일에 두 개의 div가 있고 두 개의 외부 javascript 파일을 사용하고 있습니다.하지만 두 파일을 함께 사용하면 문제가 발생합니다. features.so 특정 div에 대한 js 파일의 사용을 제한하고 싶습니다.특정 div에 특정 외부 Java 스크립트 파일을로드 할 수 있습니까

예 : div1은 js1 파일 만 사용해야하며 div2는 js2 파일 만 사용하여 충돌이 발생하지 않고 필요한 기능을 수행합니다.

많은 위젯을 사용하는 웹 응용 프로그램을 만들고 있는데 위젯은 database.there에서로드됩니다. 관리자가 위젯을 추가 할 수있는 관리자 패널이 하나 있습니다. 데이터베이스의 모든 위젯 코드를 가져 오는 중입니다. 같은 페이지. 그래서 미래에 그것은 많은 위젯을 추가하고 관련 js 파일을 추가 한 후에 충돌하고 problme를 생성합니다. 특정 위젯에 사용을 제한하고 싶습니다.

+0

중량 오류를 jQuery를 사용하는 별도의 별칭을 만들기 ?? –

+1

JavaScript를 사용하여 특정 div의 내용에만 영향을 줄 수있는 여러 가지 방법이 있습니다. 아마도 코드를 게시하면 누군가가 여기에서 가장 관련성이 높은 것을 볼 수 있습니다. –

+1

나는 실제로 묻는 질문에 대답했지만, 문제에 대해 더 자세히 말하면 JavaScript를 특정 div로 제한하는 것보다 더 나은 방법이 있다는 것을 확신합니다. –

답변

0

당신이 말하는 바가 없습니다.. 대신 diff 자바 스크립트에서 diff 범위를 사용하면됩니다.
자신이 작성한 js 파일 인 경우
1. 모든 변수를 전역 변수의 등록 정보로 변경하기 만하면됩니다.
2. 윈도우 변수에 의존하지 마십시오.
3. 클래스 이름/태그 이름/속성 값을 사용하여 DOM 조작을 사용하는 경우 두 div에 공통적 인 속성 값을 변경하고 div의 각 값을 변경하십시오 . 그래서 당신은 그들을 억지로 접근 할 수 있습니다.

jquery/_js/backbone 같은 대중적인 js 라이브러리 중 하나 인 경우 별도의 버전을로드 한 다음 두 개의 별도 div에서 별도로 사용하는 기본 충돌 옵션을 사용하십시오.

1

페이지 (탐색 컨텍스트) 내에서 단 하나의 자바 스크립트 환경입니다. 언급하고있는 고립성을 얻으려면 iframe 또는 이와 유사한 것을 사용하여 별도의 탐색 컨텍스트를 만들어야합니다.

+0

많은 위젯을 사용하는 웹 응용 프로그램을 만들고 있는데 위젯은 database.there에서로드됩니다. Admin 패널 관리자가 위젯을 추가 할 수 있습니다. 나는 같은 위젯의 데이터베이스에서 모든 위젯의 코드를 가져 오는 중입니다. 나중에 많은 위젯을 추가하고 관련 js 파일을 추가 한 후 충돌하여 problme.so를 만듭니다. 특정 위젯에 대한 사용을 제한하려면 –

+0

@amitkumar : 그런 종류의 분리를 얻으려면 'iframe'을 만들어야합니다. –

0

jquery 또는 일반 자바 스크립트를 사용하고 있는지 확실하지 않습니다.

jquery 인 경우 jquery noconflict를 사용할 수 있습니다. 는 div1 & DIV2 당신이 콘솔에있어

<script> 

     var div1Alias = $.noConflict(); 
     var div2Alias = div1Alias.noConflict(); 
     jQuery(document).ready(function(){ 
      alert(div1Alias("#div1").html()); 
      alert(div2Alias("#div2").html()); 
     }); 
    </script> 

http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/ How do I implement JQuery.noConflict() ?

관련 문제