1
페이지에 yepnope.js를 삽입하고 yepnope로 다른 JS 파일을로드하려고합니다.콜백으로 페이지 스크립트 삽입하기
크롬 개발 도구의 네트워크 탭에 yepnope가 페치되고 요소 탭 show 요소가 삽입 된 것으로 표시됩니다. 그러나 콘솔 탭을 보여줍니다 : 사전에
var betaApp = {
injectYepnope: function(url) {
var gp = document.createElement('script');
gp.type = 'text/javascript';
gp.async = true;
gp.src = url;
gp.onload = betaApp.yepnopeLoaded;
// Only for IE 6 and 7
gp.onreadystatechange = function()
{
if(this.readyState == 'complete')
{
betaApp.yepnopeLoaded();
}
}
document.body.appendChild(gp);
},
yepnopeLoaded: function() {
yepnope([
{
load: ['//cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js', 'http://raw.github.com/andris9/jStorage/master/jstorage.js'],
complete: function() {
betaApp.firstPartLoaded();
}
},
{
load: [
'http://code.jquery.com/jquery-1.8.2.min.js',
'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js',
'https://raw.github.com/Automattic/Iris/master/dist/iris.js',
'https://raw.github.com/cnkt/eksi-beta/master/ui/js/twitter-bootstrap/js/bootstrap-modal.js',
'https://raw.github.com/Automattic/Iris/master/src/iris.min.css'
],
complete: function() {
betaApp.allJsLoaded();
}
}
]);
}
};
betaApp.injectYepnope('https://raw.github.com/cnkt/eksi-beta/master/ui/js/yepnope.js');
감사 :
Uncaught ReferenceError: yepnope is not defined
여기 내 코드입니다.
새로 생성 된 JS 파일 (의미 : 비어 있음)에 코드를 복사하여 붙여 넣었습니다 : "잡히지 않은 ReferenceError : yepnope가 정의되지 않았습니다" – cnkt
스크립트가로드 될 때 DOM이 준비되지 않았다는 문제가 있습니다 JS는 기억을 차단하고 있습니다.) 스크립트가 스크립트를 추가 할 수 있도록 문서가 존재하지 않습니다. - HTML 문서 (외부 파일이 아닌)에 스크립트를 직접 추가하면 DOM이 준비 될 때까지 초기화 할 때까지 기다려야합니다. –
그러나 dev 도구의 요소 탭은 "script"태그가 "body"요소에 추가되었음을 보여줍니다. – cnkt