Tôi đang cố gắng cải thiện tốc độ tải trang đầu cho người dùng và tôi thấy rằng jQuery đang làm chậm sự kiện DomContentLoaded xuống hơn 100 mili giây.jQuery có làm chậm việc hiển thị các trang web bằng 100 mili giây hay không?
Tôi đang đo điểm chuẩn trên Windows 7 với Chrome 17 bằng máy tính có ổ i5 2,5Ghz, ổ SSD và 8GB RAM. Thử nghiệm được chạy trên máy tính cục bộ của tôi. Tôi lo ngại rằng tốc độ chậm tôi thấy trên máy của mình sẽ còn chậm hơn trên các máy tính và trình duyệt cũ hơn.
Đây có phải là hình phạt tiêu chuẩn cho việc sử dụng jQuery hay không hoặc có cách nào để tăng tốc hiệu suất mà tôi bị thiếu không?
Đây là mã mà tôi đang sử dụng:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
console.time("DOMContentLoaded");
</script>
</head>
<body>
<h1>Hello World</h1>
<script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", ready, false);
function ready() {
console.timeEnd("DOMContentLoaded");
}
</script>
</body>
</html>
Trên giao diện điều khiển, thời gian mà tôi thấy là khoảng ~ 100ms.
Khi tôi xóa dòng tải jQuery, thời gian xấp xỉ ~ 1ms.
Tôi cũng đã thử đoạn code trên bằng cách sử dụng CDN của Google:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
Kết quả là phần lớn giống nhau.
Luôn có hình phạt 100ms để sử dụng jQuery không? Có cái gì đó mà tôi đang thiếu? Cảm ơn!
Cố gắng đặt mã bên trong DOM sẵn sàng với jQuery: '$ (sẵn sàng);' – gdoron
Xin chào gdoron - độ trễ 100ms này dường như chỉ đơn giản là tải jQuery, mà không thực sự chạy javascript khác. Nó xuất hiện mà sẽ chỉ giúp cho javascript bổ sung. – Chris
Bài viết gần đây này có thể liên quan đến sở thích của bạn: "[Dừng trả thuế jQuery] (http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax)" của @ [ Sam Saffron] (http://stackoverflow.com/users/17174/sam-saffron) – Piskvor