[JQUERY] 자바 스크립트 및 사용 jQuery를 함께 jQuery를로드
JQUERY자바 스크립트 및 사용 jQuery를 함께 jQuery를로드
해결법
-
1.여기 작은 예제와 함께 작업 JSFiddle (나는 귀하의 요청을 오해하지 않는 한) 당신이 찾고있는 정확하게 보여주는,있다 : http://jsfiddle.net/9N7Z2/188/
여기 작은 예제와 함께 작업 JSFiddle (나는 귀하의 요청을 오해하지 않는 한) 당신이 찾고있는 정확하게 보여주는,있다 : http://jsfiddle.net/9N7Z2/188/
동적 로딩 자바 스크립트의 방법으로 몇 가지 문제가 있습니다. 그것은 매우 기초 프레임 워크에 관해서, jQuery를 같이, 당신은 실제로 아마 그렇지 않으면, 당신은 전체 자바 스크립트로드 프레임 워크를 작성해야하기 때문에, 정적을로드 할 ...
당신은 기존의 자바 스크립트 로더의 일부를 사용하거나 정의 얻을 window.jQuery에 대한 보면서 자신을 작성할 수 있습니다.
// Immediately-invoked function expression (function() { // Load the script var script = document.createElement("SCRIPT"); script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'; script.type = 'text/javascript'; script.onload = function() { var $ = window.jQuery; // Use $ here... }; document.getElementsByTagName("head")[0].appendChild(script); })();
그냥 당신이 IE8 같은 정말 오래된 브라우저를 지원해야하는 경우,로드 이벤트 핸들러가 실행되지 않는 것을 기억하십시오. 이 경우에는 반복 window.setTimeout을 사용 window.jQuery의 실존에 대한 여론 조사를해야합니다. 그 방법으로 작업 JSFiddle가 여기에 있습니다 : http://jsfiddle.net/9N7Z2/3/
이미 당신이해야 할 일을했을 사람들이 많이 있습니다. 같은 기존의 자바 스크립트 로더 프레임 워크의 일부를 체크 아웃 :
-
2.동적으로 jQuery를 (소스)을로드 할 수있는 다른 방법이있다. 당신은 또한 사용할 수 있습니다
동적으로 jQuery를 (소스)을로드 할 수있는 다른 방법이있다. 당신은 또한 사용할 수 있습니다
document.write('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"><\/script>');
그것은 사용 document.write를 나쁜 사례로 간주,하지만이 완료 그것의 좋은을 위해 그것을 언급 할 수 있습니다.
왜 document.write를 "나쁜 연습"으로 간주됩니다 참조하십시오? 이유로. 프로 그래서 콜백 함수를 만들 필요가 없습니다, 다른 assests로드에서 페이지를 차단 않습니다 document.write를합니다.
-
3.Encosia의 웹 사이트는 권장합니다 :
Encosia의 웹 사이트는 권장합니다 :
<script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> // You may specify partial version numbers, such as "1" or "1.3", // with the same result. Doing so will automatically load the // latest version matching that partial revision pattern // (e.g. 1.3 would load 1.3.2 today and 1 would load 1.7.2). google.load("jquery", "1.7.2"); google.setOnLoadCallback(function() { // Place init code here instead of $(document).ready() }); </script>
그러나 심지어 그는 단지는 최적의 성능에 관해서는 다음을 수행 비교하지 않음을 인정한다 :
<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js" type="text/javascript"></script> <script type="text/javascript"> window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js">\x3C/script>')</script> <script type="text/javascript" src="scripts.js"></scripts> </body> </html>
-
4.당신은 jQuery를 완성로드 한 후 코드를 실행해야
당신은 jQuery를 완성로드 한 후 코드를 실행해야
var script = document.createElement('script'); document.head.appendChild(script); script.type = 'text/javascript'; script.src = "//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"; script.onload = function(){ // your jQuery code here }
당신이 비동기 함수를 실행하는 경우 또는 당신은 위의 코드에 await를 사용할 수 있습니다
var script = document.createElement('script'); document.head.appendChild(script); script.type = 'text/javascript'; script.src = "//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"; await script.onload // your jQuery code here
당신이 jQuery를 이미 페이지에 있는지 먼저 확인하려면이 시도
-
5.이 오류가 발생하는 이유는 실행할 때 자바 스크립트가 스크립트를로드 할 기다리고, 그렇게되지 않는 것입니다
이 오류가 발생하는 이유는 실행할 때 자바 스크립트가 스크립트를로드 할 기다리고, 그렇게되지 않는 것입니다
jQuery(document).ready(function(){...
이 보증은 스크립트가 준비가되어 있지 (그리고 수 없습니다 않음).
이것은 가장 우아한 해결책하지만 실행할 수 없습니다. 그 거기에 코드를로드 할 때 기본적으로 당신은 실행 기능을 jQuery 오브젝트 광고의 1 초를 확인할 수 있습니다. 잘 무기한 발생 수표를 정지로 나는 (그 20 번 실행 된 후에 사항 clearTimeout 말) 시간 제한을 추가합니다.
var jQueryIsReady = function(){ //Your JQuery code here } var checkJquery = function(){ if(typeof jQuery === "undefined"){ return false; }else{ clearTimeout(interval); jQueryIsReady(); } } var interval = setInterval(checkJquery,1000);
-
6.require.js를 사용하면 안전한 방법으로 같은 일을 할 수 있습니다. 당신은 JQuery와에 대한 종속성을 정의하고 다음이 네임 스페이스를 오염없이로드 종속성을 사용하여 원하는 코드를 실행할 수 있습니다 :
require.js를 사용하면 안전한 방법으로 같은 일을 할 수 있습니다. 당신은 JQuery와에 대한 종속성을 정의하고 다음이 네임 스페이스를 오염없이로드 종속성을 사용하여 원하는 코드를 실행할 수 있습니다 :
나는 일반적으로 자바 스크립트의 모든 종속성을 관리하기 위해이 라이브러리를 권장합니다. 그것은 간단하고 자원 로딩을 효율적으로 최적화 할 수 있습니다. 그러나 당신이 JQuery와 함께 사용 할 때 수행해야 할 수있는 몇 가지주의 사항이있다. 그들과 거래를하는 내가 가장 좋아하는 방법은 다음 코드 샘플에서이 github의의의 repo에서 설명하고 반영된다 :
<title>jQuery+RequireJS Sample Page</title> <script src="scripts/require.js"></script> <script> require({ baseUrl: 'scripts', paths: { jquery: 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min' }, priority: ['jquery'] }, ['main']); </script>
-
7.HTML :
HTML :
<html> <head> </head> <body> <div id='status'>jQuery is not loaded yet.</div> <input type='button' value='Click here to load it.' onclick='load()' /> </body> </html>
스크립트:
<script> load = function() { load.getScript("jquery-1.7.2.js"); load.tryReady(0); // We will write this function later. It's responsible for waiting until jQuery loads before using it. } // dynamically load any javascript file. load.getScript = function(filename) { var script = document.createElement('script') script.setAttribute("type","text/javascript") script.setAttribute("src", filename) if (typeof script!="undefined") document.getElementsByTagName("head")[0].appendChild(script) } </script>
-
8.DevTools로의 콘솔에서 실행할 수 있습니다 :
DevTools로의 콘솔에서 실행할 수 있습니다 :
document.getElementsByTagName("head")[0].innerHTML += '<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"><\/script>';
https://code.jquery.com/jquery/에서 사용할 수있는 jQuery를 버전을 확인합니다.
이 장전 여부를 확인하려면 다음을 참조하십시오 JQuery와는 자바 스크립트를 사용하여로드 된 경우 확인.
from https://stackoverflow.com/questions/10113366/load-jquery-with-javascript-and-use-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 사용하여 요소의 모든 속성을 (0) | 2020.10.16 |
---|---|
[JQUERY] 내 웹 사이트에 "추가 즐겨 찾기"버튼 또는 링크를 추가하는 방법은 무엇입니까? (0) | 2020.10.16 |
[JQUERY] 어떻게 ES6 구문을 사용하여 JQuery와 가져? (0) | 2020.10.16 |
[JQUERY] 비활성화 및 HTML 입력 버튼을 활성화 (0) | 2020.10.16 |
[JQUERY] 새로 고침 / JQuery와 / 아약스 사용하여 사업부의 내용을 다시로드 (0) | 2020.10.16 |