2009-07-09 4 views
2

VS 2008에서는 하나의 마스터 페이지가있는 ASP.NET 콘텐츠 페이지가 있습니다. 이 페이지에서는 클라이언트 측 유효성 검사 등에 JavaScript 함수를 추가하고 싶습니다. 내 질문은 :자바 스크립트 페이지 또는 외부 파일을 어디에 넣어야합니까?

  1. 내가 별도의 .js 파일에 이러한 스크립트를 작성하거나 .aspx 파일에 포함해야한다.
  2. 이 선택 사항은 웹 사이트의 성능에 영향을 줍니까?
  3. JavaScript 파일을 작성하기위한 규칙이 있습니까?

답변

0

을 통해 "찾기 및 바꾸기"하나 개의 파일에 중심을 수정하기보다는 할 필요있다 그것은 당신의 사용에 달려 있습니다. 그것의 페이지 특정 기능이 그 때 시도하고 페이지 자체에서 그것을 실행하십시오. 여러 페이지에서 사용하는 경우 js 파일 안에 넣으십시오.

웹 사이트의 성능에 영향을 줍니까?

예, 가능합니다. 수천 줄의 코드가있는 js 파일이 있고 페이지에 js 파일 내에서 하나의 함수 만 호출하면됩니다. 이 파일을 참조하려면 전체 파일을 다운로드 할 때 대역폭 낭비가 있어야합니다. 이 경우 함수를 동일한 페이지 자체에 작성할 수 있습니다.

반대쪽 브라우저는 js 파일을 캐시 할 수 있습니다. 따라서 파일이 캐시에 있으면 이후의 요청을 위해 다시 다운로드되지 않습니다. 그러나 JavaScript 자체가 페이지 자체에 쓰여지는 경우 페이지가로드 될 때마다 모든 내용이 다운로드됩니다.

+0

이 답변을 게시 한 이래로 개발 건수 기준.페이지에 기능을 넣으면 사용자가 페이지를 특정 횟수만큼 요청할 때까지만 대역폭이 절약됩니다. 그 후에는 캐싱이 더 좋았을 것입니다. 또한 모든 페이지로드시에 이러한 비트를 제공하기 위해 비용을 지불하고 있습니다. 확장을 사용하면 파일의 일부만 코드에 사용하더라도 외부 함수가 훨씬 더 적합합니다. 그리고 사용되지 않는 코드와 js 모듈을 식별하는 최근 Chrome 개발자 도구를 사용하면 전송되는 내용을 매우 상세하고 구체적으로 처리 할 수 ​​있습니다. – jinglesthula

2

자바 스크립트 기능을 별도의 .js 파일로 만들고 마스터 페이지 또는 .ASPX가 필요한 곳에 링크해야합니다.

각 .ASPX에서 javascripts 함수를 "복사하여 붙여 넣기"한다고 가정하면 .ASPX 파일이로드 될 때 javascript 함수도 렌더링해야하므로이 페이지를 렌더링하는 데 더 오래 걸릴 것입니다. 별도의 .js 파일로 유지 관리하는 경우 브라우저가 이전 버전보다 최신이거나 존재하지 않는 경우 한 번만 다운로드됩니다.

해당 .js 파일을 캐시하여 매번 브라우저가 다시로드하지 않도록 할 수 있습니다. 당신의 .js 파일에 약간의 변경이 필요하면

다른 장점은 그냥 수많은 .ASPX

2

사용자가 방문하는 여러 페이지에서 JavaScript 기능을 사용하는 경우 캐싱 기능을 고려해야합니다. 이 경우에는 가능한 한 외부 .js 파일에 입력해야합니다. 이 파일은 서버에서 한 번만 가져온 다음 브라우저 캐시에 남아 있습니다. HTML 페이지가 더 작아집니다 (더 큰 JS 라이브러리의 경우).

기능 (일반적으로 유효성 검사 규칙)이 하나의 단일 페이지에만 적용되는 경우 외부 JavaScript 파일로 인해 사용자의 페이지 경험이 잠깐 차단되는 추가 HTTP 요청이 발생합니다. JS를 HTML 파일에 포함하는 것이 더 좋습니다.

자세한 힌트는 Yahoo!'s tips을 참조하십시오.

건배,

관련 문제