2011-09-05 2 views
4

페이지에 여러 번 추가 할 수있는 asp.net UserControl이 있습니다. 이 UserControl에서 jQuery 플러그인을 사용하고 있는데 한 번만로드하려고합니다. 나는 조건부 jQuery를 자체를로드하기 위해 다음 코드 조각을 사용하고 있습니다 :조건부로 jQuery 플러그인을로드하는 방법은 무엇입니까?

if (typeof jQuery == 'undefined') { 
    // load jquery 
    var script = document.createElement('script'); 
    script.type = "text/javascript"; 
    script.src = "/_layouts/SprocketValidator/jQuery.js"; 
    document.getElementsByTagName('head')[0].appendChild(script); 
} else { 
    //already loaded 
} 

는 jQuery 플러그인이 정의되지 않은 경우 확인하기위한 동등한있을 것인가? 내가 사용하고있는 플러그인은 digitalBush masked input plugin입니다.

+0

가로드를, 당신이 오직 할 필요가있는 검사입니다/code] – lucifurious

답변

3

시도 :

if (typeof jQuery.fn.mask == 'undefined') 

JQuery와-방법 $.fn의 속성으로 저장됩니다 (일반적으로 너무 플러그인 - 방법), 당신은 플러그인 내부에 사용할 수있는 방법 (예 : mask()) 알려진 있는지 확인해야합니다 있도록 $.fn

+0

이것은 유망 해 보이지만 어디에서 이것을 넣을까요? 위의 코드 바로 다음에이 코드를 놓으려고했지만이 오류가 발생합니다. 제공 한 조건에서 'jQuery가 정의되지 않았습니다.' 나는 jQuery가 아직로드 할 수있는 기회가 없다고 생각하지만, 이것을 넣을 적절한 위치는 어디일까요? –

+0

document.write()를 사용하여 '

0

등의 사용자로 YepNope.js과 같은 것을 사용할 수 있으며 here을 사용할 수 있습니다. (! 플러그인) 그리고, 당신은 그런 당신의 자바 스크립트를 작성할 수 있습니다 : {$ .getScript ('pluginurl');} [[코드] 경우 : jQuery를 한 번

yepnope({ 
    test: window.JSON, 
    nope: "/_layouts/SprocketValidator/jQuery.js", 
    complete: function() { 
    var data = window.JSON.parse('{ "json" : "string" }'); 
    } 
}); 
관련 문제