私は新しいページに特定の投稿を表示するときにfbのようなgoogle +1、tweet-buttonなどを追加したいと思います。私は、例えばaddthisがデフォルトでこれを提供していることを知っています。しかし、欠点は、あなたが多少の大きなJavaScriptファイルを取得して、時にはいくつかのエラーをスローすることです。だから私の質問です:あなたは通常、どのようなオプションと同様のシナリオで行くのですか?ありがとうAdd/ShareこのVSは「手動で」各ボタンを追加します
3
A
答えて
4
私はソーシャルボタンを含めるのが私の好みの方法ではありません。実際に気づいたように、いくつかのエラーがスローされ、追加のライブラリが失敗した場合(例えばJavaScriptエラー、サーバのタイムアウト...)すべてボタンはユニークなライブラリに依存しているため失敗する可能性があります。さらに、パフォーマンスの単純な問題のために、addthisは他のスクリプト(gzipされた33kb)を読み込んで回避することができるスクリプトであり、ソーシャルボタンを完全に管理することができます。
私は負荷非同期ですべての必要なライブラリを好むと loadscript
があるこの
$(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
への参照をキャッシュ)のように、私は本当に、それらを必要とする場合にのみ必要なマークアップを注入します私はscript要素を注入し、私のテンプレートは、ソーシャルボタン(.socialshare
要素)を持つ要素が含まれている場合は、この基本的
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);
};
のような単純なスクリプトローダ機能n id(他のスクリプトが2回も挿入できないようにするため)
関連する問題
- 1. スプリングを手動で追加する
- 2. 手動でedmxファイルのストアドプロシージャを追加
- 3. MVCミニプロファイラ - 手動で追加するステップ
- 4. リストの各行にボタンを追加する方法は?
- 5. 動的にスクロールビューにボタンを追加して追加する
- 6. WPFリストビューで作成する各行にボタンを追加
- 7. ExtJS 4は動的にボタンを追加します
- 8. スクロールビューにボタンを追加することはできますか?
- 9. jQuery DataTables各国のアイコンを各列に追加します
- 10. Restkitを使用してManagedObjectを手動で追加する
- 11. Androidプログラムでボタンを動的に追加
- 12. SVN:手動でsvn:externalのディレクトリに追加したファイルをコミットできますか?
- 13. jqGridに行データを手動で追加する方法は?
- 14. VS 2010 - TODOトークンを追加できません - 追加は無効ですか?
- 15. セットアッププロジェクト(VS 2010)の起動条件を追加するには
- 16. VS 2005 Report Serverプロジェクトテンプレートはどこで入手できますか?
- 17. seaborn.barplotの各バーにハッチングを追加することはできますか?
- 18. MCGridに動的ボタンを追加する
- 19. Jqueryボタンを動的に追加する
- 20. VSの[参照の追加]ダイアログにタブを追加しますか?
- 21. SilverlightのDataGridにデータを手動で追加する方法
- 22. ListView Command name、Visible、CommandArgumentを含む画像ボタンを動的に呼び出すことで、画像を追加するボタンを追加します。
- 23. ボタンを動的に追加または削除する方法
- 24. jQueryは各ノードの子ノードを追加します
- 25. SQLは各レコードの列を一緒に追加します
- 26. 追加のデータベースを11gで手動で作成できない
- 27. ASP.Netでページイベントハンドラを手動で追加するC#
- 28. s3にあるサイトマップをGoogleウェブマスターツールに手動で追加します。
- 29. 手動で行が追加されたときにggplotに凡例を追加
- 30. Windows 10:アクションセンターに新しい通知を手動で追加することは可能ですか?
良いソリューション、ありがとうございました。共有してくれてありがとうございます。これは私の例であるimよりも優れているので、これを受け入れてください。 – Johan
Btw、あなたは一般的に使われているライブラリの多くにURLを持っていますか? – Johan