Primeiro, a ordem de carregamento da página:
Analisar estrutura HTML.
Carregue scripts externos e arquivos de folhas de estilo.
Analise e execute o código do script.
Construa um modelo HTML DOM.
Carregue arquivos externos, como imagens.
A página está carregada.
Aquilo é:
html → head → title → #text (título da página da web) → estilo → carregar estilo → analisar estilo → link → carregar arquivo de folha de estilo externo → analisar folha de estilo externa → script → carregar arquivo de script externo → analisar arquivo de script externo → executar script externo → corpo → div → script → carregar script → analisar script → executar script → img → script → carregar script → analisar script → executar script → carregar arquivo de imagem externo → inicialização da página concluída.
Carregamento inicial de JS.
carregar
Não é chamado quando o documento é carregado, mas quando todos os elementos da página (incluindo imagens, etc.) são carregados. Se houver imagens grandes na página e o download demorar muito, o script será executado. nunca poderá ser carregado, até que o carregamento da imagem seja concluído, a experiência do usuário será bastante afetada em casos graves. No entanto, window.onload não é inútil. totalmente carregado antes de fornecer funções relacionadas ao usuário, então window .onload Ele pode fornecer uma função de "carregamento", ou o conteúdo da página é muito pequeno e document.ready() não é necessário, dependendo da situação, onload e ready devem ser usados razoavelmente;
Use onload para carregar:
Copie o código do código da seguinte forma:
janela.onload=função(){
var currentRenderer = 'javascript';
FusionCharts.setCurrentRenderer(currentRenderer);
var chartObj = new FusionCharts({
swfUrl: "Pie3D.swf",
largura: "290", altura: "210",
id: 'gráfico de amostra',
fonte de dados: "/ucenter/seo/new_seo_tool.php?check=xml&val={{pre_num}}",
dataFormat: FusionChartsDataFormats.XMLURL,
renderAt: 'chart1div'
}).render();
}
preparar
Existe um evento chamado DOMContentLoaded no W3C, que é acionado quando o DOM (Document Object Model) é carregado.
Método um:
Copie o código do código da seguinte forma:
Semelhante ao $(function(){...}) $(document).ready(function(){...}) do Jquery
(função () {
var ou seja = !!(window.attachEvent && !window.opera);
var sem = /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 = documento;
d. pronto = função (f) {
if (!ie && !wk && d.addEventListener)
return d.addEventListener('DOMContentLoaded', f, false);
se (fn.push(f) > 1) retornar;
se (ou seja)
(função () {
tente {d.documentElement.doScroll('esquerda');
catch (erro) { setTimeout(argumentos.callee, 0 });
})();
senão se (semana)
vart = setInterval(função(){
if (/^(carregado|completo)$/.test(d.readyState))
clearInterval(t), run();
}, 0);
};
})();
Ao ligar:
documento.ready(função(){
alerta('ok');
}
Método dois:
Copie o código do código da seguinte forma:
/Se W3C DOM2 for compatível, use o método W3C
if (document.addEventListener){
document.addEventListener("DOMContentLoaded", te, false);
}
else if (/MSIE/i.test(navigator.userAgent)){/se for o navegador IE (não compatível)
/Crie uma tag de script, que possui um atributo defer e será carregada quando o documento for carregado.
documento.write("
var script = document.getElementByIdx_x("__ie_onload");
/Se o documento estiver realmente carregado, chame o método de inicialização
script.onreadystatechange=função(){
if (this.readyState == 'completo') {
te();
}
}
}
else if (/WebKit/i.test(navigator.userAgent)) {/Se for o navegador Safari (não compatível)
/Crie um cronômetro, verifique a cada 0,01 segundos e chame o método de inicialização se o documento estiver carregado
var _timer = setInterval( function() {
if (/loaded|complete/.test(document.readyState)) {
clearInterval(_timer);
te();
}
}, 10);
}
else {/Se nenhuma das opções acima, use o pior método (neste caso, o Opera 7 será executado aqui)
janela.onload=função(e){
te();
}
}
função(){
alerta('ok');
}