Osadzanie kodu ga.js w opisany sposób (z zakodowanym na stałe znacznikiem <script>
) rzeczywiście blokuje, a jeśli ładujesz ten skrypt, najlepszą praktykę uważa się za ładowanie go tuż przed znacznikiem </body>
. Ale to nie jest zalecana praktyka, jeśli używasz nowego asynchronicznego kodu. Google explicitly recommends placing the new asynchronous code in the <head>
.
Nowy kod asynchoroniczny nie blokuje się na dwa sposoby. Najpierw umieszcza w kolejce zmienne strony w globalnej zmiennej _gaq. W ten sposób dane są przygotowywane w dowolny sposób.
Następnie, jak opisano w tej SO answer, używając javascript bezpośrednio do napisania skryptu, jak w nowym kodzie asynchronicznym, nie ma blokowania (ta metoda bezpośredniego wstrzykiwania jest drogą do osiągnięcia asynchroniczności, nawet w przeglądarkach, które nie obsługują t bezpośrednio obserwuj atrybut async
). Reszta strony może nadal się ładować, jeśli z jakiegoś powodu serwery Google nie działają lub nie reagują zbyt wolno. I to tylko wtedy, gdy użytkownik nie ma już buforowanego pliku ga.js, jak to czyni wiele, ponieważ ga.js jest używany na wielu popularnych stronach internetowych.
Zaletą tego wszystkiego jest to, że im wcześniej GA.js ładuje się i jest w stanie przesłać obiekt _gaq do Google, tym większe prawdopodobieństwo, że uda Ci się przechwycić WSZYSTKIE Twoje potencjalne dane, takie jak dane użytkowników którzy bardzo szybko klikają na Twojej stronie. Jest to szczególnie ważne w przypadku "dużych" stron internetowych, które zwykle mają wielu zwykłych użytkowników, którzy przestrzegają nawyków szybkiego kliknięcia.
Jeśli jesteś sceptyczny, przetestuj go za pomocą inspektora ładowania strony, takiego jak narzędzia dla programistów webkit. Przetestowałem to obszernie i nie znalazłem żadnych dowodów znaczącego blokowania podczas korzystania z kodu asynchronicznego w </head>
zgodnie z opisem.
Zobacz [ kod Google Analytics: czy można go znaleźć w dokumencie? ] (http://stackoverflow.com/questions/1708771/) i [ ) czy analityka Google ma duży wpływ na czas, aby pobrać statyczną stronę internetową? ] (http://stackoverflow.com/questions/374084/). Najważniejsze jest to, że Google zaleca umieszczenie go na końcu ciała, aby nie blokowało ono reszty strony. Ale dobrze jest umieścić go w głowie. Ponadto GA ma teraz wersję asynchroniczną (zobacz [to pytanie] (http://stackoverflow.com/questions/2191325/)), która pozwala umieścić kod GA wcześniej i załadować go równolegle w nowoczesnych przeglądarkach. –