2012-11-28 2 views
1

다른 PHP 파일을로드하는 데 Jquery를 사용하고 있지만 PHP 파일에도 jquery 라이브러리가 연결되어 있습니다 (Google의 CDN). Windows jquery 작업을 중지하고 mac google의 webfont로드하지 않고 jquery로드하지 않기 때문에이 충돌을 일으키는 믿습니다. 나는 그 페이지들에서 jquery를 제거함으로써 이슈를 수정했다. 이 작업을 수행하는 더 좋은 방법이 있습니까?Jquery Ajax jquery 라이브러리가 포함 된 다른 페이지로드 중

답변

2

대신 jQuery를/아약스를 사용하여로드하려고하고 렌더링의 iframe에로드하는 것이 좋습니다 수 있습니다 인라인.

2

Jquery AJAX를 사용하는 경우 수신 된 컨텍스트에서 다른 Jquery를로드하고 제거하기 위해 링크 된 태그를 찾을 수 있습니다.

내 의견에 대한 기록을 위해 js 부분이 한 곳에 있고 PHP 부분이 다른 부분에 있도록 프로젝트의 모듈을 만들어야합니다.

0

jQuery.noConflict은 (는) 귀하의 친구입니다.

당신이 (자신의 라이브러리와 링크 된 자원) 전체 다른 페이지를로드하는 경우

http://api.jquery.com/jQuery.noConflict/

+0

$ 함수 (일명 'Jquery'의 약어) 없이는 사용할 수 없습니까? – helly0d

+0

허, 나는 당신의 질문을 이해하지 못합니다. – ilivewithian

+0

JQuery.noConflict는 창을 없애기 위해 설계되었습니다. $ function을 사용하면 prototype.js 또는 다른 라이브러리에서 사용할 수 있습니다. 그러나 충돌이없는 동일한 JQuery를 두 번로드하고 꺼진 상태를 두 번로드하는 것은 바보 같다. – helly0d

1
<script type="text/javascript" src="<?= COMMONSITE_HTTP_PATH ?>/scripts/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript"> 
/* <![CDATA[ */ 
if (typeof jQuery == 'undefined') { 
    var script = document.createElement('script'); 
    script.type = "text/javascript"; 
    script.src = "//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"; 
    document.getElementsByTagName('head')[0].appendChild(script); 
    } 
/* ]]> */ 
</script> 

두 번째 웹 문서에서 jQuery 라이브러리를 테스트 할 수 있다면 두 번 주입하지 않아도됩니다.

관련 문제