Эффективное встраивание виджетов Twitter / Facebook и других счетчиков в веб-страницу, когда document.ready - PullRequest
1 голос
/ 06 ноября 2010

Для нового веб-сайта, который я создаю, я пытаюсь правильно встроить виджеты счетчиков социальных сетей из таких сервисов, как Facebook, Twitter, Digg, Reddit, StumbleUpon и Buzz.

Использование iFrameгрязные теги и <script> также вызывают серьезные замедления, когда дело доходит до рендеринга и загрузки страницы.Я заметил, что страницы часто занимают значительно больше времени и приостанавливают загрузку на полпути из-за медленного ответа одного из этих сайтов социальных сетей.

Поэтому я пытаюсь написать эти виджеты, как только документготовы.Это хорошая идея?Или есть какие-то недостатки?

Вот лишь несколько примеров:

Для кнопки «Мне нравится в Facebook» я сделал следующее:

$('.likebox').append('    <iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2Ffacebook&amp;layout=button_count&amp;show_faces=false&amp;width=150&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=21" style="border:none; overflow:hidden; width:150px; height:21px;"></iframe>');

Однако как это сделать?Я имею дело с такими виджетами?

<a href="http://twitter.com/share" class="twitter-share-button" data-url="<?php the_permalink() ?>" data-text="<?php the_title(); ?>" data-count="horizontal" data-via="twitter" data-related="twitter">Tweet</a>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

или

  <script src="http://www.reddit.com/domain/cnn.com/new/.embed?limit=4&amp;t=all&amp;sort=new&amp;style=off" type="text/javascript"></script>

Буду признателен за любые предложения относительно эффективного и правильного встраивания этих или других виджетов.Спасибо!

Ответы [ 2 ]

1 голос
/ 06 ноября 2010

Вы ищете "асинхронная загрузка JavaScript" или "отложенная загрузка"

http://friendlybit.com/js/lazy-loading-asyncronous-javascript/

0 голосов
/ 06 ноября 2010

Почему бы не создать еще одну страницу со всеми необходимыми виджетами в том порядке, в котором вы их хотите, а затем передать ее в качестве источника iframe, который вы добавляете в html (как вы это сделали в первом примере)?

В худшем случае используйте несколько разных фреймов и добавляйте их в html везде, где это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...