2013-03-14 2 views
0

여기에 진짜 바보 같은 질문을하고 있을지 몰라도, 쉽게 읽을 수있는 좋은 읽을 거리가 없습니다.하나의 페이지에 여러 개의 jquery 파일이 있습니다.

몇 가지 다른 jquery 파일을 사용하는 프로젝트를 인수했습니다. 현재 헤더는 다음과 같습니다 :

<head> 
    <title> 
    Capture New Order 
    </title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="/application/assets/CSS_JS/jquery.mobile-1.1.1.min.css" /> 
    <link rel="stylesheet" href="/application/assets/CSS_JS/green.min.css" /> 
    <script src="/application/assets/CSS_JS/jquery-1.7.2.min.js"></script> 
    <script src="/application/assets/CSS_JS/jquery.mobile-1.1.1.min.js"></script> 
    <link rel="stylesheet" href="/application/assets/CSS_JS/elf.css" media="screen"> 

    <link href="<?php echo base_url() ?>application/css/ui-lightness/jquery-ui-1.8.custom.css" media="screen" type="text/stylesheet" rel="stylesheet"> 
    <script src="<?php echo base_url() ?>application/scripts/jquery-1.9.1.min.js" type="text/javascript"></script> 
    <script src="<?php echo base_url() ?>application/scripts/jquery-ui-1.10.1.custom.min.js" type="text/javascript"></script> 

    <link rel="stylesheet" href="<?php echo base_url() ?>application/css/sales.css" /> 

    <script type="text/javascript"> 
     $(function(){ 
      $("#customer").autocomplete({ 
      source: "get_customers" 
      }); 
     }); 
    </script> 
</head> 

이 예제에서는 다양한 jquery 파일을 4 번 호출합니다. 그러나 이러한 jquery 파일 중 하나를 삭제하면 사이트의 기능이 손상됩니다.

사용 가능한 모든 기능을 가진 단일 '마스터'jquery 파일이 있습니까?

분명히 여러 가지 jquery 파일을 갖는 것보다 더 합리적일까요?

'단순한'질문인데 불만을 품고 싶다면 사과하십시오.

감사합니다, 당신은 주요 jQuery를 두 번 파일을로드하는 모든 라이언

+0

여기에 무슨 문제가 있습니까? 파일을 업데이트하기가 어렵습니까? HTTP 요청 수를 줄이려고합니까? 또는? – kyooriouskoala

+0

시간을내어 주셔서 감사 드리며, 실제로 여러 파일을 업로드하는 데 낭비가되는 것 같습니다. 또한 파일의 순서를 변경하면 서로 덮어 쓰므로 새 버전의 Jquery가 필요할 때 기능을 얻으려면 약간의 시간을 들여야합니다. – JustStarting

답변

1

첫째, JQuery와-1.7.2.min.js 및 JQuery와-1.9.1.min.js 당신은 그들 중 하나가 필요합니다. 이 파일은 주요 기능을 담당합니다. jquery-ui 파일은 UI-Elements 용입니다. jquery-mobile은 모바일 기능과 UI를위한 것입니다. 따라서 이러한 파일 중 하나를 삭제하면이 파일의 기능이 사라집니다. 하지만 모든 것이 jquery 메인 파일에 중계됩니다.

파일을로드하는 순서는 중요하지 않습니다. jqeuery.min.js를 먼저로드하십시오.

도움이 되었기를 바랍니다.

+0

Daniel의 대답에 덧붙이면 일반적으로 사용하지 않는 페이지에 스크립트를로드 할 때 낭비라고합니다. 모든 페이지에 이러한 모든 파일을로드해야한다면 낭비가되지 않습니다. – kyooriouskoala

+0

Thanks Gents는 마음을 편하게하는 데 도움이됩니다. 고맙습니다. – JustStarting

0

당신은 태그의 순서를 재정렬 할 필요가 어쩌면 JQuery와 및 UI의 이전 버전을 제거

/* collect and keeping css links first*/ 
<link rel="stylesheet" href="/application/assets/CSS_JS/jquery.mobile-1.1.1.min.css" /> 
<link href="<?php echo base_url() ?>application/css/ui-lightness/jquery-ui-1.8.custom.css" media="screen" type="text/stylesheet" rel="stylesheet"> 
<link rel="stylesheet" href="/application/assets/CSS_JS/green.min.css" /> 
<link rel="stylesheet" href="/application/assets/CSS_JS/elf.css" media="screen"> 
<link rel="stylesheet" href="<?php echo base_url() ?>application/css/sales.css" /> 
/* Moving the jQuery Mobile down below the jQuery core link 
    and only load jQuery core + jQuery UI once 
*/ 
<script src="<?php echo base_url() ?>application/scripts/jquery-1.9.1.min.js" type="text/javascript"></script> 
<script src="<?php echo base_url() ?>application/scripts/jquery-ui-1.10.1.custom.min.js" type="text/javascript"></script> 
<script src="/application/assets/CSS_JS/jquery.mobile-1.1.1.min.js"></script> 
0

당신은 그것 때문에 더 나은 어떤 라이브러리의 업데이트시 함께 모든 파일을 넣을 수 없습니다 하나의 결합 된 파일로 대체하기 위해 코드를 검색하는 대신 하나의 단일 파일을 대체하는 것.

그러나 모든 단일 파일 (JavaScript, CSS 등)이 HTTP 요청을 필요로하기 때문에 HTTP 요청의 양을 줄이면 응용 프로그램의 속도를 높일 수 있으므로 접근 방법이 좋습니다. Yahoo! Rules of High Performance Web Sites에서이 문제에 관해 읽을 수 있습니다. 많은 minify- & php를위한 결합 라이브러리가 있습니다. 예를 들어 CSS-JS-Booster을 사용하면 JavaScript 및 CSS에 대한 HTTP 요청의 양이 줄어 듭니다. 그러나 당신이 구글이라면 당신의 필요에 더 잘 맞을 수있는 훨씬 더 많은 도서관을 찾을 수 있습니다.

JavaScript를 HTML 파일의 맨 아래에 놓고 CSS를 맨 위에 놓는 것이 좋습니다. 위의 규칙을 읽으면 더 많은 웹 사이트 "부스터"를 찾을 수 있습니다.

관련 문제