2011-09-19 4 views
0

외부 자바 스크립트를 외부 파일에서 호출하여 하나의 자바 스크립트를로드하려고 시도하고 있으며이를 수행하는 가장 좋은 방법이 궁금합니다. 특히, 이것은 단지 기본 구글 맵 페이지이며, 코드를 좀 더 체계적으로 정리하고 싶습니다. 마커 변수를 그룹으로 나누고 이러한 변수 그룹을 별도의 파일에 저장 한 다음 페이지의 기본 자바 스크립트 헤더 내에서 해당 파일을 호출하기를 바랍니다. 이 코드를 html과 javascript로 제한하여이 영역에 익숙하지 않은 사람들이 미래의 업데이트를 목적으로하는 단순성을 maintan으로 제한하려고합니다. JavaScript로 코딩을 많이하지는 않습니다. 이미 내장 함수가 있다면, 좋을 것입니다. 코드를 좀 더 깔끔하게 만드는 것은 순수한 미학적 인 것입니다. 어떤 도움이나 제안을 주시면 감사하겠습니다. 감사.여러 파일에서 하나의 javascript 파일로드하기

+0

좀 더 자세하게 설명해야합니다. 마커 변수 그룹은 Google지도를 초기화하고 채우는 함수 내에 있습니다. 내가 마커를 외부에 저장하고 그 마커를 다시 그 기능으로 호출하고 싶습니다. 외부의 프레임 워크 나 API 없이도이 작업을하고 싶습니다. 다른 사람들은 미래에 마커를 추가하기 위해 다른 그룹을 편집해야합니다. 그래서 외부에서 이것을 호출 할 것입니다. 이렇게하면 마커의 전체 페이지를 조사하지 않고 사람들이 추가하려는 그룹을 쉽게 찾을 수 있습니다. – Brendan

답변

1

맞다면 몇 가지 다른 JavaScript 파일에서 하나의 JavaScript 파일을 호출하고 싶지는 않습니다. 일부 변수 그룹을 저장하기 만하면됩니다.음, 서버 측 데이터베이스를 사용하거나 저장할 수 있습니다. http://www.w3.org/TR/webstorage/ 또는 http://www.w3.org/TR/IndexedDB/

+0

정확합니다. 서버없이이 작업을 수행하는 방법을 알고 있습니까? 실제로 라이브 페이지가 아니므로 서버를 통해 액세스 할 수 없습니다. 이것은 기본적으로 완전히 로컬로 실행되는지도 응용 프로그램이 될 것입니다. 그래서 이것이 가능한 한 간단해야합니다. 나는 상황을 고려하여 이것을 할 수있는 방법이 없는지 이해할 수 있습니다. 개인적으로 제한적인 매개 변수 내에서이를 수행 할 수있는 방법을 생각할 수 없기 때문입니다. – Brendan

+0

내가 말했듯이 WebStorage 또는 IndexedDB를 사용하거나 [쿠키] (http://en.wikipedia.org/wiki/HTTP_cookie) –

+1

일 수 있습니다. [lawnchair] (http : //westcoastlogic.com/lawnchair/) 좋은 해결책입니다. –

1

당신은 외부 파일에 대한 참조를 추가 할 수 있습니다

<html> 
    <head> 
    <script type="text/javascript" src="colorGradient.js"></script> 
    <script type="text/javascript" src="xpath.js"></script> 
    <script type="text/javascript" src="kml2.js"></script> 
    <style type="text/css"> ... </script> 
    </head> 
    <body> 
    .... 
    </body> 
</html>   
+1

이들은 별도의 스크립트 파일이 아니라 하나의 js 스크립트 내의 변수 그룹입니다. – Brendan

1

당신은 "온 디맨드 자바 스크립트로드"프레임 워크는 "기능 로딩을"시도 및/또는 수 있습니다. Google지도를 사용하려고하므로 찾고있는 것과 매우 밀접하게 관련된 Google Loader API을 사용하는 것이 좋습니다. 예를 들어

: A는 단순히 당신이 할 수있는 JS와 함께 ....

<script type="text/javascript"> 
    google.load("search", "1"); 
    google.load("jquery", "1.4.2"); 
    google.load("jqueryui", "1.7.2"); 
</script> 

을 다음 ... 그리고 그것은 여러 파일을로드합니다.

0

개발을위한 코드 분할은 좋은 생각입니다. 여기에는 MVC 및 psudo MVC 모델의 도움을 받아 코드를 구성하는 데 도움이되는 많은 프레임 워크가 있습니다.

시도 :

http://maccman.github.com/spine/

또는

http://documentcloud.github.com/backbone/

그러나 프로덕션 환경에 하나 개의 파일에 모든 것을 가진 못하도록? 서버 요청이 쉽습니다. 그리고 당신은 ... 어쨌든 빌드 프로세스에

를이 통합하려는 그러나 당신이 DOM에 추가에에서 주장하는 경우는 물론이 작업을 수행 할 수 있습니다

document.write(unescape('%3Cscript src="yourfile.js"%3E%3C/script%3E')) 

이 추가됩니다

<script src="yourfile.js"></script> 

to dom

0

질문을 올바르게 이해하면 단일 스크립트를 여러 .js 파일로 나누고 싶습니다. 지금까지 내가 아는 한, 각 파일을로드하기위한 태그를 포함하는 한이 작업은 정상적으로 작동합니다. 파일을 순서대로로드해야 할 수도 있습니다 (즉, 아직 수정되지 않은 함수를 호출하는 파일은 포함하지 마십시오).

그러나 스크립트를 분할하면 서버에 더 많은 호출이 발생하므로 페이지로드 속도가 느려집니다. 대부분의 경우, 몇 개의 스크립트 만 포함하면로드 시간에 눈에 띄는 차이가 나지 않습니다.

+0

이 작업을 수행하는 데 정확히 어떻게해야합니까? 전에 말했듯이, 나는 JS 전문가 근처에 아무것도 없습니다. – Brendan

+1

나는 Cheeso가 제안한 것을 언급했다. 귀하의 질문에 대한 업데이트를 토대로 귀하가 원하는지 확실하지 않습니다. – Andrew

관련 문제