편집
은 (해시) 자바 스크립트 객체에 필요한 지역화 된 리소스를 작성하고 다음 동적으로 생성 된 객체에 대한 조회를 위해 그것을 사용하는 것이 좋습니다. 나는 이것이 번역을 위해 서버로 돌아가는 것보다 낫다고 생각한다. 이는 뷰 데이터를 통해 추가하는 것과 비슷하지만 좀 더 유연 할 수 있습니다. FWIW, 컨트롤러의 일부가 아닌 View의 일부로 현지화 리소스를 고려할 수 있습니다. 보기에서
:
<script type="text/javascript"
src='<%= Url.Content("~/Resources/Load?translate=Close,Open" %>'></script>
하는 것 출력 뭔가 같은 : 그것은 출력 전체 번역 해시 것 인수없이
var local = {};
local.Close = "Close";
local.Open = "Open";
. 인수를 사용하면보기마다 사용자 정의 할 수 있습니다.
당신은 다음과 같은 자바 스크립트 파일을 사용합니다 : 사실
$(function(){
$('#button').click(function() {
$("<img src=... title='" + local.Close + "' />")
.appendTo("#someDiv")
.click(function() { ... });
});
});
, 나는 용기에 한 자바 스크립트 코드가 지역화 나의 견해에서 내 자바 스크립트 코드를 유지 대해 너무 법석을 떨게 아니에요 . 일반적으로 제목, 머리글, 주 및 스크립트 등 4 개의 콘텐츠 영역으로 내 마스터 페이지를 설정합니다. 제목, 헤더 및 메인은 예상되는 곳으로 이동하고 스크립트 영역은 본문 맨 아래로 이동합니다.
viewusercontrols를 포함하여 모든 JavaScript 포함을 스크립트 컨테이너에 넣었습니다. 포함 된 후에 특정보기 전용 JavaScript 코드가 제공됩니다. 필자는 필요에 따라 리팩토링 담당자가 코드를 다시 스크립트에 공유했습니다. 나는 하나의 요청을 사용하여 여러 개의 스크립트를 포함하는 것을 포함하여 스크립트를 대조하는 컨트롤러 메소드를 사용하는 것에 대해 생각해 보았지만, 아직 그것에 대해 알지 못했다.
이는 자바 스크립트 코드를 가독성을 위해 분리하여 유지하는 장점이 있지만 필요에 따라 모델 또는 뷰 데이터를 자바 스크립트 코드에 쉽게 삽입 할 수 있습니다.자바 스크립트를 사용할 수없는 위치를 요소의 텍스트를 초기화하는 자바 스크립트 코드를 사용하는 경우, 귀하의 사이트는 끔찍하게 저하됩니다,
//keep all of your localised vars somewhere
var title = '{title_from_server}';
document.getElementById('someImage').title = title;
가 기억
을 == "자바 스크립트를 마크 업과 분리하는 것도 좋은 습관입니다." <= 그게 <%= foo %>가 작동하지 않는 이유입니다. –
Btw, JS onload에서 onclick 처리기를 연결하는 것이 바람직한 이유는 무엇입니까? –
질문에서 "JS에서 생성 한"부분을 놓쳤습니다. 바로 스캔했습니다. 이 경우에는 뷰에 지역화 된 데이터를 쓰고 자바 스크립트가 로컬 객체에서로드하는 것을 고려할 것입니다. 윌 재작 성. – tvanfosson