2011-07-09 16 views
5

Na stronie, która zawiera listę około 30 wpisów, każda z nich jest podobna do Facebooka (kod każdego wpisu zawiera przycisk Lubię to), a każda z nich jest wyświetlana lub nie (zależnie od ustawienia filtra):30 Facebook Jak przyciski na stronie przeciążają przeglądarkę internetową?

  • strona trwa kilka sekund, aby załadować całkowicie
  • strona używa dużo pamięci, dzięki temu podobne przyciski
  • strona korzysta z procesora, nawet jeśli użytkownik nie ma interakcji (co 100ms lub mniej, jeden z przyciski Like uruchamiają zdarzenie przy użyciu Javascript)
  • Jeśli nie zmieniam drzewa DOM, po prostu zmień widoczność elementu, przyciski wydają się być przeładowane i tak

na komputerze z więcej niż 1 GHz i 1 GB mem, strona jest bezużyteczna, ponieważ jest tak powolny (przeglądarka: Chrom). Jak mogę to zmienić, trzymając przyciski "Lubię to"?

Odpowiedz

6
  1. Winy Facebook w "Like" realizacja
  2. Pobierz Firefox Nightly lub 'Aurora' i spojrzeć na "about: memory" karcie, aby uzyskać informacje na temat wpływu pamięć o "jak" przyciski. (Firefox dodał raport z przedziałów pamięci do około: pamięci)
+4

+1 za "Wina na Facebooku" Jak "wdrożenie" –

+0

Yah to wysadzenie w pamięć. To jest okropne. –

0

Wydaje mi się, że wydajność może być wolna, ponieważ przycisk Facebook Like jest załadowany w elemencie iframe, który ładuje się o wiele dłużej. Nie jestem pewien, czy istnieje taka opcja w interfejsie wykresu, ale rozważ wprowadzenie niestandardowego przycisku, ładując informacje podobne do strony serwera.

http://www.stevesouders.com/blog/2009/06/03/using-iframes-sparingly/

5

pomocą JavaScript SDK

Upewnij się, aby zawierać jak przyciski poprzez xfbml i JavaScript SDK. W ten sposób masz większą kontrolę nad nimi.

Nie należy ładować je początkowo, załadować je wyraźnie, kiedy trzeba je

Dalsza dokumentacja domyślnie zaleca wymianę tagów xfbml natychmiast Facebook Like przycisków tak szybko, jak strona jest ładowana. W związku z tym jako opcję do prawie wszystkich wzmianek o wywoływaniu FB.init można użyć opcji:

. Nie chcesz tego.

Jeśli masz wiele przycisków podobnych, najprawdopodobniej nie trzeba ich początkowo ładować. Zestaw SDK JavaScript oferuje funkcję parsowania i zastępowania fbxml jawnie. Możesz wywołać go na określonym węźle DOM zamiast na całej stronie. Zobacz FB.XFBML.parse. W ten sposób możesz załadować przyciski, gdy ich potrzebujesz, możesz nawet leniwie załadować tylko te, które są aktualnie widoczne w przeglądarce, podobnie jak w przypadku leniwych technik ładowania.

0

Zdaję sobie sprawę, że jest to stare pytanie, ale socialite.js wydaje się, że może to zrobić trick:

ekonomista zapewnia bardzo łatwy sposób wdrażania i aktywacji mnóstwo przycisków udostępniania społeczna - kiedy tylko chcesz.Po załadowaniu dokumentu, po zawieszeniu artykułu na dowolne wydarzenie!

Jeśli sprzedajesz swoją duszę, możesz równie dobrze zrobić to asynchronicznie. Socialite nie spowoduje zawieszenia renderowania dokumentów podczas oczekiwania na 50kb mediów społecznościowych.

Powiązane problemy