내 사이트에는 페이지가로드되는 즉시 다른 (보안 된) 서버에서 데이터를 검색하는 jquery 기능이 있습니다. JSONP 호출을 사용하여 나는 현재 문서 준비 이벤트 후이 데이터를로드 : 나는 위의 호출에 대해 좋아하지 않는 무엇jquery가 문서 준비 이벤트를 사용하지 않고로드되었는지 확인하십시오.
<script type="text/javascript">
$(document).ready(function() {
$.getJSON(_secureHost + '/base/members/current.aspx?callback=?', function (data) {
initPage(data);
});
});
</script>
에서, JSONP 실제로하여 아래로 둔화, 문서 준비 이벤트 전에 exectued 할 수 있다는 것입니다 페이지로드. 내가 페이지 내 jQuery를 (즉, 스크립트 태그를 사용하여 참조하지 않음)을 포함한다면, 다음 코드는 페이지가로드 빨리 좋은 작품과 : 모든 페이지에서 JQuery와 포함
<script type="text/javascript">
$.getJSON(_secureHost + '/base/members/current.aspx?callback=?', function (data) {
$(document).ready(function() {
initPage(data);
});
});
</script>
는하지만 '는 23K 오버 헤드 피하고 싶다. jquery가로드되었고 jquery가로드되었을 때 initPage() 함수 만 excecute하는지 테스트 할 수 있습니까?
편집 : 더 정확하게 jquery가로드 된 다음 이벤트를 실행하는 경우 반복적으로 확인해야합니다. 타이머 작업이 솔루션이 될 수 있습니다.
해결책 : jquery 검사를 수행하는 사전 작업을 만들었습니다. 내 페이지 로딩 속도가 빨라질 수 없습니다. :) 모두에게 감사드립니다!
function preInit()
{
// wait until jquery is loeaded
if (!(typeof jQuery === 'function')) {
window.setTimeout(function() {
//console.log(count++);
preInit();
}, 10); // Try again every 10 ms..
return;
}
$.getJSON(_secureHost + '/base/members/current.aspx?callback=?',
function (data) {
$(document).ready(function() {
initPage(data);
});
});
}
그게 거의 그것. 하지만 실제로 얼마나 jquery를로드하는 데 걸릴지 모르겠다. jquery가로드 될 때까지이 검사를 반복해야합니다. 나는 매 10ms마다를 확인하는 시간을 만들 수있다. 그러나 그것은 기분이 좋지 않다 .. – AyKarsi
아, 그게 무슨 뜻 이니? jQuery가 전혀로드되었는지 테스트하고 싶다는 뜻인 줄 알았는데. 이 경우 jquery가'
함수를 실행하는 스크립트 태그 위에 jQuery가 포함 된 스크립트 태그를 배치하면 정상적으로 작동합니다.
대신 준비 기능이 당신의 스크립트를 포장 도움이 될 수 있습니다 :
이출처
2011-01-07 09:16:44 Olical
이것은 $ (document) .ready (function() {})와 동일합니다. 그냥 속기 버전. –
jQuery를 포함하지 않고 문서를로드 할 때 함수를 실행하는 데이 메서드를 사용합니다. 나는 jQuery가이 기능을 변경한다는 것을 몰랐다. – Olical
@Matt 그게'$ (function() {...});':) @ Wolfy87 이것은 코드를 캡슐 화하는 좋은 방법이지만,별로 변하지 않습니다. 그런 다음 다시 포스터가 완전히 바뀌어야한다고 생각하지 않습니다. –
당신은 추가하거나 완성 기능 또는 그리드 완성 기능을로드 할 수 있습니다 보여처럼 당신이있는 jqGrid
에 대한 몇 가지 작업을 수행하는 데 도움이 될 것입니다 그 이하출처
2011-01-07 09:21:37
안녕 내가 먼저 그
출처
2011-01-07 09:26:20 Hafiz
당신이 그것에 대해 확신하기 전에 실제로 exectued 할 수 있다는 것입니다! 당신은 여전히
난 당신이 사용해야 할 것 같아요 loading..etc 이미지가있을 수 있습니다 유의하시기 바랍니다 : 나는 footable jQuery 플러그인을 사용하고 있었다
Link
출처
2011-01-07 09:27:20 ifaour
사실 나는 가능한 한 일찍 jsonp를 실행하고 싶습니다. 문서 준비가 완료되면 DOM이 조작 준비가됩니다. 제가 조작하기 전에 문서 준비를 존중하는 한, 좋습니다. – AyKarsi
. 이것은 나를 위해 일한 :
JQuery와 버전 - 1.9.1 footable 버전 - 0.5
출처
2014-01-20 14:23:02