2012-05-09 2 views
1

CMS에 구현할 테마가 있습니다.CMS는 jquery 1.7을 사용합니다. 테마는 jQuery 1.6을 사용합니다. == 충돌

테마는 jQuery 1.6을 사용하며 자바 스크립트 오류가 없습니다.

CMS (concrete5)는 jQuery 1.7.1을 사용하며 자바 스크립트 오류가 없습니다.

나는 CMS에 테마를 병합 할 때 나는 (내가 두 번 jQuery를 포함 피하기 위해 이후)에 jQuery를에 포함 지금은 다음과 같은 오류가 점점 오전 드롭 :

Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function (ccm.app.js line 1 --> ccm.app.js is part of the CMS javascript). 
Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function (page controls menu.js). 

스크립트 src에 참조가됩니다 순서 :

- jQuery 
- ccm.app.js (CMS) 
- page controls menu.js (CMS) 
- custom.js (my theme) 

나는이보고 문제를 해결하기 위해 많은 코드가 아니라, 사람이 이런 종류의 오류의 원인이 될 수 있음을 jQuery를 1.6과 jQuery를 1.7 사이의 차이점을 알고 않습니다 실현 ?

+0

그들은 둘 다 여전히 결국 포함되어있는 것처럼 들립니다. 또는 둘 다 아닙니다. ;-) –

+0

흠, 나는 단지 그것을 두 번 확인했지만, 단지 한 번만 포함되는 것처럼 보입니다. – redconservatory

+1

dev 도구 (브라우저의 F12)를 열고 콘솔로 가서'$'를 입력하고 Enter 키를 누르면 반환되는 항목 ? – Snuffleupagus

답변

2

사용중인 jQuery 버전이 바로 가기 $을 할당하지 않습니다. 즉시 jQuery를

<script type="text/javascript"> 
$ = jQuery; 
</script> 
+0

잘못된 점을 지적했으나 특별한 경우에는 CMS를 사용하지 않고 사용할 수 없습니다 PHP는 (내가 업그레이 드의 경우에는 할 수 없어) – redconservatory

+0

그냥 'jQuery'를 사용합니까? –

+0

가져 오는 jQuery 파일이 전혀 편집되지 않았습니까? '$ '를 할당하지 않는 것은 의미가 없습니다. – Snuffleupagus

2

대답은 위의 무엇이 잘못된 것인지의 루트에 도달을 가져 후, 바로 가기를 할당, 또는 하나에 현명한 스크립트 참조하는지 변경할 수 있습니다,하지만 난 내가 생각했던 다른 사람이 같은 문제가있는 경우이 부분을 언급하십시오. 단지로 다시 변경

jQuery.noConflict()(function($){ 
    $(document).ready(function() { 
    // some jQuery javascript here  

    }); 
}); 

:

$(document).ready(function() { 
    // some jQuery javascript here  

    }); 

가 제거 당함

은 나를 위해, 내 custom.js 파일에, 나는 jQuery를 각각 약간의 주위에 jQuery를 noConflict 래퍼가 내가 가지고 있었던 문제.

관련 문제