2013-04-17 2 views
2

liferay 구성 수정 기능이없고 IE8/9를 통해 액세스 할 수 있고 페이지의 포틀릿에서 jQuery & UI를로드/사용하려고 시도하지만 liferay 3.6 기존 프로젝트에서 작업하지만 작동 안함.jQuery가로드되었지만 '정의되지 않음'

로드 된 jQuery & UI가 하나의 병합 된 파일로 직접로드되었으며 yepnope와 require 모두에서로드를 시도했습니다. 파일이 정상적으로로드 된 것처럼 보입니다 (UI는 디버거에서로드를 볼 수 있습니다). 예 :

<script> 
var head = document.getElementsByTagName('head')[0]; 
var script = document.createElement('script'); 
script.type = "text/javascript"; 
script.src = "/pim/scripts/yepnope.js"; 
head.appendChild(script); 
</script> 

<script> 
yepnope({ 
    load: ["scripts/jquery-1.9.1.js", "scripts/jquery-ui-1.10.2.custom.js"], 
    callback: { 
    "jquery-1.9.1.js": function() { 
     console.log("jquery loaded!"); 
    }, 
    "jquery-ui-1.10.2.custom.js": function() { 
     console.log("jquery-ui loaded!"); 
    } 
    } 
}); 
</script> 

콘솔 : LOG : jquery loaded!

SCRIPT5009은 'jQuery를이'

JQuery와-UI-1.10.2.custom.js, 라인 6 자 정의 1

지금까지 내가 두 개의 파일을로드하는 방법에 상관없이 JQuery와 정의되지 않은 메시지가 없습니다

내가 어떻게 작동하는지에 대한 조언이 있습니까?

+0

당신이 yepnope를로드 할 수있는 기회를 가지고 전에 jQuery를 사용하려고했던 하는가? – Blazemonger

+0

그렇게 생각하지 마십시오. jquery로드에 대한 콜백이 실행됩니다. – user2287902

+2

콜백에서'console.log ("jquery loaded!");'를'console.log ("jquery loaded!"+ jQuery.fn.jquery);'이 jQuery 버전을 출력합니까? – P4ul

답변

0

마지막으로 작동하도록했습니다.

1)이 나타납니다 yepnope.js 포틀릿의로드하는 동안 호출되는 페이지의 포틀릿 중 하나의 스크립트에서

2)

를 머리에 부착 된 스크립트를 유지 : window.addEventListener ("온로드"를, invokeLoad, false);

3) invokeLoad 함수는 질문의 두 번째 스크립트에서와 같이 jQuery의 yepnope로드를 실행합니다.

는 버전 1.9.1와 함께 작동하지 않았다,주의,하지만 1.7.2