jQuery가 페이지 맨 아래에있을 때 모든 JavaScript를 지연시키는 가장 좋은 방법은 무엇입니까? jQuery가로드 된 후에 이미 모든 jQuery 인스턴스를 가져와서 해결했지만, <script src="file.js"></script>
으로 완료된 모든 외부 참조를 선택하는 좋은 방법을 찾아야한다. <head>
에서jQuery를 맨 아래에 둘 때 모든 스크립트를 페이지 맨 아래로 보내는 가장 좋은 방법은 무엇입니까?
는 :
이 페이지에있는 모든 jQuery를 기능을 잡고 및 배열에 푸시합니다.
<script>
window.q = [];
window.jQuery = function (f) {q.push(f)};
</script>
</body>
하기 전에 :
그냥 몸 전에, 나는 지역의 대체와 구글 API에서 jQuery 라이브러리를 얻을, 다음 배열의 각 jQuery를 기능을 실행합니다. 질문에
<script> window.jQuery || document.write('<script src=\"Scripts/jquery-1.7.1.js\"><\/script>')
// after jQuery loaded
jQuery(function() {
jQuery.each(q, function (index, f) {
f.call(document);
});
});
</script>
...
그래서 나는 처음에 내 코드에 <script>
태그 무리가 있었다. 쉬운 방법은 jQuery.ajax()를 사용하여 호출하고 아래 예제와 같이 "script"를 입력하는 것입니다.하지만 더 나은 옵션에 대한 가능성을 탐구하고 싶습니다.
jQuery(function() {
jQuery.ajax({
url: "/scripts/somescript.js", // contains myFunction();
cache: true,
dataType: "script",
success: function() {
myFunction();
}
});
});
주 :
이 만 모든 페이지에 사용되지 않는 드문 스크립트 수행됩니다. 그것은 사이트 관리자가 켜거나 끌 수있는 위젯 컨텍스트에 있습니다. 이것이 내가 masterpage (MVC)의 jQuery 아래에 놓은 일반적인 JS의 나머지 부분과 결합하지 않는 이유입니다.
몇 가지 수정 사항을 사용하여 html5boilerplate를 사용하여 이것을 설정했습니다. 그래서 실제로 Modernizr 2.0이 될 머리에 하나의 스크립트가 있습니다.
개선을위한 아이디어와 생각을 알려주세요.
감사합니다. 문서가 처음으로 jQuery를 넣어, 브라우저가 즉시 그것을 읽는 자바 스크립트를 실행 이후에만 아래로 페이지 로딩이 느려 (일명 $(document).ready()
) 준비가되면 내가 바로 질문을 이해하면
참고 : 첫 번째 방법은 jQuery의 연결 가능성을 깨뜨릴 것입니다. 예를 들어'$ (문서) .load (..). unload (...)' –