Я хотел бы добавить на мою новую страницу fb-like, google + 1, твит-кнопку и т. Д. (При отображении определенного сообщения). Я знаю, что, например, addthis предлагает это по умолчанию. Но недостатком является то, что вы получаете несколько большой файл javascript, который иногда вызывает некоторые ошибки. Поэтому мой вопрос: какой вариант и почему вы, ребята, обычно идите в подобных сценариях. СпасибоAddthis/Sharethis VS добавляет каждую кнопку «вручную»
ответ
Включение через addthis не является моим предпочтительным способом включения социальных кнопок. Фактически, как вы заметили, иногда возникают некоторые ошибки, и если библиотека addthis терпит неудачу (например, ошибка javascript, время ожидания сервера ...) все кнопки могут выйти из строя, поскольку они зависят от уникальной библиотеки. Кроме того, для простого выполнения производительности addthis - это скрипт, который загружает другие скрипты (это 33kb gzipped), поэтому его можно избежать, и я могу полностью контролировать включение социальных кнопок.
Я предпочитаю загружать асинхронно все необходимые библиотеки и ввести необходимую разметку только если я действительно в них нуждается, как это
$(document).ready(function() {
if (('.socialshare').length) {
/* twitter button */
$('<a href="https://twitter.com/share" class="twitter-share-button">Tweet</a>').appendTo($('.socialshare'));
loadscript('//platform.twitter.com/widgets.js', 'twitter')
/* Google +1 button */
$('<div class="g-plusone" data-size="medium" data-annotation="bubble" data-expandTo="top"></div>').appendTo($('.socialshare'));
loadscript('https://apis.google.com/js/plusone.js', 'google-plusone');
}
})
(ради производительности, кэшировать ссылку на .socialshare
) loadscript
является простая функция скрипта загрузчика как этот
function loadscript(url, id) {
var js, fjs = document.getElementsByTagName('script')[0];
if (document.getElementById(id)) { return; }
js = document.createElement('script');
js.id = id;
js.charset = "utf-8";
js.src = url;
fjs.parentNode.insertBefore(js, fjs);
};
в основном, если мой шаблон содержит элемент с социальной фишкой (.socialshare
элемента) Я впрыснуть элемент сценария с n id (так что я уверен, что ни один другой скрипт не может их вводить дважды)
- 1. JQuery отключить каждую кнопку
- 2. Oracle вручную добавляет ограничение FK
- 3. loop только добавляет последнюю кнопку
- 4. Java добавляет кнопку
- 5. OpenLayers добавляет настраиваемую кнопку
- 6. Как добавить кнопку в каждую ячейку uitableview?
- 7. Отслеживать каждую кнопку в iOS?
- 8. DataGridViewComboBoxColumn добавляет разные элементы в каждую строку.
- 9. listview добавляет spinner в каждую строку?
- 10. Игрок Video.js добавляет кнопку хромирования?
- 11. Создание VS 2005 .vcproj's вручную
- 12. Вручную добавляет SCC к целой функции?
- 13. Google Fit Api фильтр добавляет вручную действия
- 14. bower.json вручную добавляет зависимость установленного пакета
- 15. UIScrollBar добавляет вертикальное смещение при прокрутке вручную
- 16. Java: вручную добавляет дни до даты
- 17. VS Installer добавляет неопределенную зависимость
- 18. Нажав кнопку Div vs Button vs href?
- 19. Показать кнопку определенное время/дней каждую неделю
- 20. Создайте новый текстовый файл, нажав каждую кнопку.
- 21. Increment этикетка на 20 каждую кнопку мыши
- 22. Нажмите каждую кнопку с тем же ID
- 23. Переключить каждую кнопку в набор результатов
- 24. Вызовите каждую кнопку, содержащую определенный макрос
- 25. Как связать каждую кнопку с отдельными отметками?
- 26. asp.net listbox_index изменил postback на каждую кнопку
- 27. SwitchCompat onClickListener вызывал каждую кнопку в группе
- 28. Как положить кнопку в каждую карту?
- 29. Как добавить кнопку в каждую ячейку?
- 30. Как добавить кнопку в каждую строку списка?
Хорошее решение, спасибо за обмен :) Я принимаю это, потому что это лучше, чем оба моих примера, imo. – Johan
Кстати, у вас есть url для более часто используемых библиотек? – Johan