javascript

Hagi 2011. 4. 19. 18:09

웹 프로그래밍을 하다보면, Javascript 많이 씁니다.

다른 프로그래밍보다 Javascript는 테스트 하기도 많이 어렵고, 만들면 완전 화면이 지저분해지죠.

그래서 외쿡 디자이너가 Javascript 프레임워크인 Jquery를 만들었나봅니다.

아마 수많은 Javascript 프레임워크 중에 이것이 가장 편하고

 크로스브라우징(익스플로러, 파이어폭스, 크롬, 오페라등의 여러 브라우저에서 호환되는 것을 말함)이 

잘되는 편이여서 많이 쓰여지는 것 같습니다.

그 수많은 프레임워크 중에 예전에는 prototype이라는 프레임워크도 많이 썼고,

 현재도 많이 쓰여지나봅니다.

그런데 만약 이것을 쓰고 있으면, Jquery와 충돌이 납니다. 처음 접하면 왜 안돼는지 찾기도 힘들구요.

Jquery를 사용하려고 했는데, 작성한 소스에 아무런 에러의 이유를 찾지 못하겠다면...

이것이 있는지 찾아보시고, 만약 있다면 아래와 같이 설정합니다.

(두 프레임워크 간에 $ 기호가 충돌이 난다더군요)


(전략)

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">

jQuery.noConflict(); // var $j = jQuery.noConflict(); => $j로 alias 사용 가능  

jQuery(document).ready(function(){

       // $로 사용된 jquery를 모두 jQuery로 대체한다.

      jQuery("#tmpPageRowSize").append("<option value=''10''>10</option>");

}

(후략)

==============================================================================================

<참고>

http://taesuz-textcube.blogspot.com/2009/11/jquery-%EC%99%80-%EB%8B%A4%EB%A5%B8-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%B6%A9%EB%8F%8C%EC%8B%9C.html


http://siana.tistory.com/entry/jQuery-prototypejs%EB%93%B1-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%9D%98-%EC%B6%A9%EB%8F%8C


<prototype.js 참고>

http://openframework.or.kr/framework_reference/prototype_js/1.5.0/prototype.js.html#Whatsthat

음..역시 같은 고민을 하는 분들이 많군요. 위의 방법은 언뜻 좋아보이지만 약점을 가지고 있습니다. 바로 수많은 Jquery 관련 Component들을 사용할 수 없다는 점입니다.

다른 유용한 Jquery관련 Component(or Library)들은 $로 인식하고 있으니깐요..
그러게 말입니다. prototype을 쓴 레거시 코드를 빨리 걷어 내야될텐데요.