Nhúng mã ga.js theo cách bạn mô tả (với thẻđược mã cứng) thực sự đang chặn và nếu bạn tải tập lệnh như vậy, thực hành tốt nhất được coi là tải nó ngay trước thẻ </body>
. Nhưng đây không phải là thực hành được khuyến nghị nếu bạn đang sử dụng mã không đồng bộ mới. Google explicitly recommends placing the new asynchronous code in the <head>
.
Mã asynchoronous mới không bị chặn theo hai cách. Đầu tiên, nó xếp hàng các biến cho trang trong biến toàn cục _gaq. Bằng cách đó, dữ liệu được chuẩn bị theo một trong hai cách. Sau đó, như được mô tả trong này SO answer, bằng cách sử dụng javascript trực tiếp để viết ra các tập lệnh như trong mã async mới là không chặn (phương pháp tiêm trực tiếp này là cách để đạt được không đồng bộ-ness, ngay cả trong các trình duyệt mà don ' t trực tiếp quan sát các thuộc tính async
). Phần còn lại của trang web có thể tiếp tục tải nếu vì một số lý do máy chủ của Google bị chậm hoặc chậm phản hồi. Và đó là chỉ khi người dùng chưa có ga.js được lưu trong bộ nhớ cache, như nhiều người làm, vì ga.js được sử dụng trên nhiều trang web phổ biến.
Lợi ích của tất cả điều này là tải ga.js trước đó và có thể truyền đối tượng _gaq cho Google, bạn càng có khả năng nắm bắt TẤT CẢ dữ liệu tiềm năng của mình, như dữ liệu của người dùng người nhấp rất nhanh trên trang của bạn. Điều này đặc biệt quan trọng đối với các trang web 'lớn' có xu hướng có nhiều người dùng thường xuyên theo dõi thói quen nhấp nhanh.
Nếu bạn hoài nghi, hãy thử nghiệm bằng cách sử dụng trình kiểm tra tải trang như công cụ dành cho nhà phát triển webkit. Tôi đã thử nghiệm nó rộng rãi và không tìm thấy bằng chứng về việc chặn đáng kể khi sử dụng mã async trong </head>
như được mô tả.
Xem [ mã Google Analytics: nó có thể đi trước trong tài liệu không? ] (http://stackoverflow.com/questions/1708771/) và [ Google Analytics có ảnh hưởng lớn đến thời gian tải xuống trang web tĩnh không? ] (http://stackoverflow.com/questions/374084/). Điểm mấu chốt là Google khuyên bạn nên đặt nó ở phần cuối của phần thân để nó không chặn phần còn lại của trang của bạn. Nhưng không sao để đặt nó vào đầu. Ngoài ra, GA hiện có phiên bản không đồng bộ (xem [câu hỏi này] (http://stackoverflow.com/questions/2191325/)), cho phép bạn đặt mã GA sớm hơn và tải nó song song trong các trình duyệt hiện đại. –