요즘 Jquery 의 매력에 푹빠져서 잘 이용하고 있다.
정말 편리하게 잘 만들어진 라이브러리임에 틀림업다.
웹파트 만들면서 Jquery 참조해서 쓰다보니 한페이지안에 JQuery가 두번 세번 호출되어져서 사용하게 되는 문제가 발생하여 솔루션화 하기에도 어렵고 또한 function 을 확장하는데 아래위로 코드가 잡아 먹히는 문제가 발생해서 Undefined 오류가 발생한다.
Jquery 가 로딩되어 있는지 확인하고 없으면 Head 영역에 Jquery를 넣어주도록 수정해야한다.
중복을 피하는 방법은 여러가지가 있긴 하지만 아래의 방법이 가장 유용한것 같다.
해당 코드만 삽입하면끝....
// Only do anything if jQuery isn't defined
if (typeof jQuery == 'undefined') {
if (typeof $ == 'function') {
// warning, global var
thisPageUsingOtherJSLibrary = true;
}
function getScript(url, success) {
var script = document.createElement('script');
script.src = url;
var head = document.getElementsByTagName('head')[0],
done = false;
// Attach handlers for all browsers
script.onload = script.onreadystatechange = function() {
if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
done = true;
// callback function provided as param
success();
script.onload = script.onreadystatechange = null;
head.removeChild(script);
};
};
head.appendChild(script);
};
getScript('/_layouts/Themes/Common/jquery-1.7.2.min.js', function() {
if (typeof jQuery=='undefined') {
// Super failsafe - still somehow failed...
} else {
// jQuery loaded! Make sure to use .noConflict just in case
fancyCode();
if (thisPageUsingOtherJSLibrary) {
// Run your jQuery Code
} else {
// Use .noConflict(), then run your jQuery Code
}
}
});
} else { // jQuery was already loaded
// Run your jQuery Code
'IT 관련 이야기 > Sharepoint3' 카테고리의 다른 글
Sharepoint Newsfeed 사용법 (0) | 2013.04.26 |
---|---|
Sharepoint 2013 / New Office 365 에서 JQuery 사용 (0) | 2013.03.16 |
My Site (0) | 2012.12.07 |
Sharepoint 2013 다국어 지원 및 언어 변경 (0) | 2012.12.03 |
Minimal Download Strategy(MDS) (0) | 2012.08.01 |