JS 구현 페이지 로드 완료 판단
(function()
{
var ie = !!(window.attachEvent && !window.opera);
var wk = /webkit\/(\d+)/i.test(navigator.userAgent) && (RegExp.$1 < 525);
var fn = [];
var run = function () { for (var i = 0; i < fn.length; i++) fn[i](); };
var d = document;
d.ready = function (f){
if (!ie && !wk && d.addEventListener) return d.addEventListener('DOMContentLoaded', f, false);
if (fn.push(f) > 1) return;
if (ie)
(function (){
try { d.documentElement.doScroll('left'); run(); }
catch (err) { setTimeout(arguments.callee, 0); }
})();
else if (wk)
var t = setInterval(function () {
if (/^(loaded|complete)$/.test(d.readyState))
clearInterval(t), run();
}, 0);
};
})();
~function()
{
var FNArray=[];
var D = document;
window.onReady = function(fallBackFunction)
{
var argu=[];
for (var i=1,len=arguments.length; i<len; i++){
argu.push(arguments[i]);
}
var is_ie = !!(window.attachEvent && !window.opera);
if (window.readyBound) return fallBackFunction.apply(this,argu);
if(!is_ie) return fallBackFunction.apply(this,argu);
FNArray.push(fallBackFunction);
readyBound = true;
var ready = 0;
// Mozilla, Opera and webkit nightlies currently support this event
if (D.addEventListener)
{
// Use the handy event callback
D.addEventListener("DOMContentLoaded",
function(){
D.removeEventListener("DOMContentLoaded", arguments.callee, false);
if (ready) return;
ready = 1;
for (var i=0,len=FNArray.length; i<len; i++)
{
FNArray[i] ? FNArray[i].apply(this,argu) : 0;
}
},
false);
// If IE event model is used
}else if (D.attachEvent){
// ensure firing before onload,
// maybe late but safe also for iframes
D.attachEvent("onreadystatechange",
function(){
if (D.readyState === "complete")
{
D.detachEvent("onreadystatechange", arguments.callee);
if (ready) return;
ready = 1;
for (var i=0,len=FNArray.length; i<len; i++)
{
FNArray[i] ? FNArray[i].apply(this,argu) : 0;
}
}
});
// If IE and not an iframe
// continually check to see if the D is ready
if (D.documentElement.doScroll && window == window.top)(function(){
if (ready) return;
try{
// If IE is used, use the trick by Diego Perini
// http://javascript.nwbox.com/IEContentLoaded/
D.documentElement.doScroll("left");
}catch(error){
setTimeout(arguments.callee, 0);
return;
}
ready = 1;
for (var i=0,len=FNArray.length; i<len; i++){
FNArray[i] ? FNArray[i].apply(this,argu) : 0;
}
})();
}
};
}();
.방안 4: 윈도우.onload 이 방법은 페이지의 모든 자원을 포함하여 그림 등 불러오기가 끝난 후에야 실행할 수 있기 때문에 사용을 추천하지 않습니다..
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.