2010-04-12 11 views
9

Według Yahoo "Best Practices for Speeding Up your Site", plusy za korzystanie iframe:element iframe do ładowania reklamy jest dobry czy zły?

  • pomaga zwolnionym zawartości stron trzecich, takich jak odznaki i reklam
  • skrypty Pobierz równolegle

ale minusy to:

  • Kosztowne, nawet jeśli puste
  • Strona bloków obciążenia

Chcę używać iframe załadować reklamy wykorzystujące technikę zamieszczone na tej stronie: http://meanderingpassage.com/2007/08/15/keeping-javascript-widgets-from-controlling-your-blog/

Czy przy użyciu tej techniki na myśli, że jak tylko zawartość html wnioskowane przez iframe są zwracane do klienta , załaduje skrypt reklamowy, potencjalnie blokując resztę renderowania i pobierania strony? A może prośba o element iframe zostanie przetworzona jednocześnie, podczas gdy reszta dokumentu zostanie pobrana i wyrenderowana?

Nie szukam jednak dyskusji na temat filozofii, czy reklamy są dobre czy złe.

+0

W jaki sposób blokuje on ładowanie strony? A to tylko kosztowne ze względu na wdrożenie. Wini ludzi przeglądarki, a nie oryginalny projekt elementu iframe. – Pyrolistical

+2

@Pyro Nie sądzę, że on jest zainteresowany obarczaniem kogokolwiek winą, tylko robieniem dobrej witryny. –

+0

Od pewnego czasu publikuję reklamy Google w mojej witrynie, które opierają się na elementach iframe generowanych przez JS i nie zauważają problemów. Zasadniczo (ale nie zawsze) moje treści są ładowane przed dodaniem (a kiedy reklamy wygrywają wyścig, ponieważ są one tylko tekstowe, a moja strona jest długa ^^ '). –

Odpowiedz

8

Renderowanie wewnętrznego elementu iframe jest przetwarzane jednocześnie ze stroną zewnętrzną. Każdy javascript wewnątrz elementu iframe uniemożliwi załadowanie zawartości wewnątrz elementu iframe.

Edycja: również, zauważyłem, że odpowiedziałem na twoje poprzednie pytanie na ten temat, i jak wyjaśniono, istnieje możliwość uruchomienia ładowania iframe w javascript kiedy tylko chcesz (np. Po załadowaniu reszty strony).

+0

@tloflin Dziękuję. To właśnie próbowałem zrozumieć. –

9

Nie jestem do końca pewien, dlaczego lista Yahoo mówi "Blocks page onload". Ramki IFrame ładują się niezależnie od strony nadrzędnej, szczególnie jeśli treść elementu iframe znajduje się w innej domenie niż strona główna. "Załadowanie strony bloków" wydaje się być sprzeczne z zaletami, które wynikają ze współbieżności obciążenia elementu iframe.

Teraz, jeśli masz element iframe ładujący coś z tej samej nazwy domeny co strona główna, może to zależeć od limitu połączenia przeglądarki w danej domenie, a tym samym mieć wpływ na to, jak szybko strona główna może pobrać jego zawartość. Ale jeśli adres URL elementu iframe jest inną domeną, powinien uzyskać własny limit połączeń dla domeny.

Największym profesjonalistą dla iframe jest izolacja zabezpieczeń. Po załadowaniu skryptu strony trzeciej do elementu iframe, nie musisz się martwić o to, że skrypt strony trzeciej przejmuje twoją stronę i scrawluje graffitti wszędzie, lub kradnie dane użytkownika ze zmiennych skryptowych.

Największym oszustwem dla iframe jest również izolacja zabezpieczeń. ;> Mur z cegły, który chroni Cię przed osobami trzecimi, bardzo utrudnia komunikowanie/udostępnianie informacji między stronami na tej samej stronie internetowej.

+1

+1 dla ochrony kontekstu, chociaż należy pamiętać, że należy umieścić element iframe na innej nazwie hosta. W przeciwnym razie nadal zapraszasz sieć reklamową i każdego, komu ufają, do przeniesienia skryptu między witrynami do twojego kontekstu bezpieczeństwa; jeśli chcą, mogą kontrolować interakcję użytkowników z dowolną stroną, aby zrobić wszystko, do czego użytkownik jest upoważniony. – bobince

+0

"Załadowanie strony bloków" oznacza, że ​​elementy iframe blokują zdarzenie 'window.onload' przed wcześniejszym uruchomieniem, ale oczywiście nie blokują procesu ładowania strony –

Powiązane problemy