私はRubyOpenGraph Protocol Gemを使用して、YouTube、Vimeo、Metacafe、Dailymotionのビデオに関連する画像とそのタイトルと説明を取得しています。これらの画像は再生ボタンで表示され、ユーザーが画像をクリックすると、ajaxを使用して画像に関連するビデオを読み込んで再生します。
とにかく、更新後、ページの読み込みに15秒以上かかることに気づきました。ビデオ(画像)が添付されているすべてのマイクロポストを削除すると、ページの読み込み時間が通常に戻ります。
ユーザーがマイクロポストを作成すると、マイクロポストに含めたいビデオにリンクでき、そのリンク/ URLのURLは、私のDBに設定されているマイクロポストテーブルのリンク列に保存されます。
私の見解では、現在ループされているマイクロポストのリンクをヘルパーメソッドに渡して、ビデオ用のオープングラフプロトコルオブジェクトを取得します。次に、返されたオブジェクトからimageプロパティを取得し、image_tagヘルパーを使用して関連する画像を表示します。
image_tag get_video_data(micropost.link).image
これは私がオープングラフプロトコルgemと通信する方法です..ヘルパー:
def get_video_data(url)
OpenGraph.fetch(url)
end
とにかく、これはすべて私のページの読み込み時間を劇的に遅くします。これを修正する方法があるかどうか疑問に思いましたか?この問題は、異なるURLからそれらの個々の画像をロードする必要があることが原因だと思います。これは、関連するマイクロポストを削除してページをリロードすると、ロード時間が通常に戻るためです。私のアプリにある画像は問題を引き起こしません。
ユーザーがマイクロポストを投稿するときは、基本的に、投稿に追加したいビデオのリンクを貼り付けてから、ビデオの画像が表示され、[投稿]をクリックしてマイクロポストが投稿されます。
次のような動画の画像を表示できるように、その画像をアプリにアップロードする方法を教えてください。
image_tag micropost.video_image
このようにすると、外部URLから画像を取得する必要がないため、ページの読み込みが速くなります。
これがfb、google +などのより大きなウェブサイトでどのように行われるのかはよくわかりませんが、解決策を教えてくれる方法を知りたいと思います。
敬具。