• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
External Widgets Performance
 

External Widgets Performance

on

  • 328 views

 

Statistics

Views

Total Views
328
Views on SlideShare
243
Embed Views
85

Actions

Likes
0
Downloads
0
Comments
0

4 Embeds 85

http://iqlab.org.ua 73
http://localhost 9
http://www.iqlab.org.ua 2
http://192.168.50.84 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    External Widgets Performance External Widgets Performance Presentation Transcript

    • External widgets performance
    • Проблема - внешниевиджеты и скрипты Страница виснет на парсинге.
    • Решение• Добавление через DOM• Связывание черезonload/onreadystatechange• document.write() o Делаем свой document.write() o Выносим виджет в отдельныйневидимый элемент o Загружаем в скрытый iframe,по onload копируем на страницу
    • Google Analytics Async Snippetvar ga = document.createElement(‘script’);ga.type = ‘text/javascript’;ga.async = true;ga.src = (‘https:’ == document.location.protocol ?‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’;var s =document.getElementsByTagName(‘script’)[0];s.parentNode.insertBefore(ga, s);
    • Рабочая модификация<script>(function(d, s) { var js, fjs = d.getElementsByTagName(s)[0], load =function(url, id) { if (d.getElementById(id)) {return;} js = d.createElement(s); js.src = url; js.id = id; fjs.parentNode.insertBefore(js, fjs); }; load(widget1.js, fbjssdk); load(widget2.js, gplus1js); load(widget3.js, tweetjs);}(document, script));</script>
    • Преимущества подхода• Страница не виснет из-за сторонних виджетов• Управление всеми стороннимивиджетами из одного места• Гарантия подключения узлавсего один раз(благодаря присвоению идентификатора)