6

すべての画像が動的に読み込まれる単一のHTMLページで画像ポートフォリオを構築するだけです。FacebookのMETAOG:IMAGEを除いて、これまでのところすべてがうまく機能しています。

ページが1回だけ読み込まれるので、OG:IMAGE URLを1回割り当てることができます...しかし、これはフォトアルバムなので、各画像に独自のOG:IMAGEを設定したいと思います。

--li class = "open-pic"-タグをクリックすると、写真が読み込まれます。--li class = "open-pic"-タグをクリックするたびにOG:IMAGE値を変更したいと思います。

出来ますか?私はこのようなものを見つけました:

$('meta[name=og\\:image]').attr('content', newImageUrl);

ただし、これをli.open-piconclickイベントにリンクする方法がわかりません。ありがとうございました!

G。

4

3 に答える 3

15

ページは 1 回だけ読み込まれるため、OG:IMAGE の URL を 1 回割り当てることができます。

クライアント側で OG メタ タグを変更しても、実際には役に立ちません。Facebook はスクレイパーを通じてこれらのタグを読み取るため、URL に対して HTTP リクエストを実行し、HTML コードの内容を確認します。スクレーパーは JavaScript を実行しません。

解決策: 各写真に独自のメタ情報を含む個別の URL を提供し、いいねボタン/共有機能/その他の FB 機能が各写真のその URL を指すようにします。

(クライアント側でどのように処理するかは問題ではありません。すべての写真を 1 ページに表示したり、AJAX を介して新しいコンテンツをロードしたりできます。ただし、写真が個別のものとして認識されるようにするには、写真に個別の URL必要です。開くグラフ オブジェクト)。

于 2012-09-13T11:44:44.043 に答える
3
$('li.open-pic').click(function(){
 $('meta[name=og\\:image]').attr('content', newImageUrl);
});
于 2012-09-13T11:10:32.203 に答える
3

コロンです。次のように一重引用符と二重引用符を使用してみてください。

var imgSrc = $(this).find('img').attr('src'); // image stored as variable
$('meta[property="og:image"]').attr('content', imgSrc); // assigns meta property
于 2014-01-06T23:47:12.413 に答える