10/10/2018, 11:37

Hỏi về load function js khi pageload cho nhanh

Hiện tại web mình có 1 vài function muốn tự động load khi pageload.

Mình dùng đoạn code thế này

Code:
<body onload="buoc1();buoc2();buoc3();">
Nhưng thực tế là tốc độ khá chậm, mình không biết cách nào, hay javascript nào có thể làm việc này 1 luc và nhanh hơn không (function này là function javascript) xin cám ơn
bad spy viết 13:49 ngày 10/10/2018
Gì kỳ vậy ta bài viết bị chìm vào quên lãng luôn òi
Mahakaruna viết 13:48 ngày 10/10/2018
Dùng event DOMContentLoaded :

Code:
if (document.addEventListener)
  document.addEventListener("DOMContentLoaded", function(){
    buoc1();buoc2();buoc3();
  }, false);
Code trên không support IE6-7
nên tốt hơn là dùng jquery, support ráo :
Code:
$(function(){
  buoc1();buoc2();buoc3();
});
_ThietKeMienPhi_ viết 13:53 ngày 10/10/2018
Dùng Jquery vậy, bạn tham khảo nhé.

$('document').ready(function(){
buoc1();
buoc2();
});
Sonoid viết 13:43 ngày 10/10/2018
Nếu mà theo trình tự thì sao không load lần lượt từng bước khi hoàn thành thì load bước tiếp theo buoc1()->buoc2()->buoc3()
bad spy viết 13:43 ngày 10/10/2018
Cám ơn mọi người, mà mình dùng Jquery thấy nó load chậm hơn onload của body !
it4you.vn viết 13:52 ngày 10/10/2018
Html + JS load tới đâu chạy tới đó.
Có lẽ nhanh nhất là bỏ JS vào sau đoạn html muốn xử lý
Code:
    html elemt 1
  <scritp> code 1 </script>
    html elemt 2
  <scritp> code 2 </script>
dokhacluan viết 13:39 ngày 10/10/2018
bạn đang viết chức năng gì cho ứng dụng của bạn vậy ?

nói thử xem coi có nhất quyết dùng onload ko
Mahakaruna viết 13:45 ngày 10/10/2018
Được gửi bởi bad spy
Cám ơn mọi người, mà mình dùng Jquery thấy nó load chậm hơn onload của body !
Không đâu, chắc do mới load lần đầu, cái script jquery chưa đc load + cache.
Chứ dùng on ready của jquery thì phải nhanh hơn on load nhiều vì :
on ready = html + js đã load xong
on load = html + js + css + image đã load xong

Ngoài ra, lúc test, bác đừng nhấn F5 (reload/refresh) để thử tốc độ, vì F5 sẽ force reload lại js trên các browser thông dụng (dẫn đến jquery bị download lại => thấy load lâu)
nên click vô ô address rồi Enter phát (hoặc alt+d xong enter)
Bài liên quan
0