2012-02-20 4 views
2

100%AJAXを使用してすべての 'ページ'と 'コンテンツ'を読み込むサイトがあります。私は、AJAXの負荷を処理するためにjQueryを使用しています。Facebook Sharing:AJAXを使用してページを読み込むときにOGタグを更新する方法

私がいる問題は(下のリンクを参照してください)私は、個々のプロジェクトページのFBシェアリンクを含めることです:

http://www.concrete.ca/#!/work_project.php?project_ID=32

ので、アイデアは、各プロジェクトがあるときということですAJAX経由で読み込んでいます。次に、index.phpページにあるOGメタタグを更新するために、jQuery(ドキュメントが.readyのとき)を使用します。 FB OGメタのそれぞれに目的に合ったID(FB_titleなど)を付けました。 AJAX経由でのプロジェクトページの負荷のそれぞれが、私は「コンテンツ」を更新したいときに

<meta id="FB_title" property="og:title" content="Concrete Design Communications" /> 
<meta id="FB_description" property="og:description" content="Internationally acclaimed Toronto-based brand design practice serving a variety of sectors including telecom, luxury retail, fashion, cosmetics, hospitality, publishing, as well as furniture and product design." /> 
<meta id="FB_image" property="og:image" content="http://www.concrete.ca/images/LOGO.png" /> 

そして メタタグの属性は:だから、ここではindex.phpのHEADに存在OGメタさんです。これらの行に沿って:

$('#FB_title').attr('content', 'Concrete Design: <? print $GA_project_name; ?>'); 

問題を解決するには、私はそのコードを実行すると、 "解析エラー"が表示されます。他の誰かがこれにぶつかる? AJAX経由でページを読み込むときにFB OGメタを更新するにはどうすればよいですか?

私はFB devのドキュメントを見てきましたが、これに対処するものはないようです。

ご協力いただきありがとうございます。

答えて

1

Facebookのリンターはjavascriptを実行していません。だからfacebookがそれをつかむために来るとき、正しい内容を提供することを確かめなければならないでしょう。

ここで必要なことは次のとおりです。 2つのオプション。他の制作ウェブサイトでも動作していることが証明されています。 J

  • LikeプラグインコードでAJAX URLを指定します。 Facebookのリンターからのリクエストを見たときに、あなたのWebサーバーに特別なハンドラーを持ってください。スクレーパーのユーザーエージェントは"facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"です。その後、サーバーはハッシュ・バングを解析し、そのコンテンツの特定のメタ・タグを提供することができます。これはURL書き換えと呼ばれ、.htaccess経由で行うことができます。

  • Likeプラグインコードで標準URLを指定します。その正規URLは表示可能なコンテンツごとに一意であり、正確なog:metaタグをレンダリングするhttp://www.concrete.ca/work_project.php?project_ID=32(ハッシュ・バングなし)を直接呼び出すことができます。

関連する問題