0

最初に簡単な説明を... 次の 2 行は、私の Web サイトが Facebook で共有されると、カスタム画像 (share-thumbnail.png) が投稿されることを保証します。

<meta property="og:image" content="images/share-thumbnail.png"/>
<link rel="image_src" href="<images/share-thumbnail.png" />

自分のページで特定の共有リンクをクリックしたときの動作を上書きする創造的な方法を考えてもらえますか?

たとえば<a class="special-sharing" href="#">Share with special image</a>、ページにアンカーがあり、それがクリックされたときに、ヘッダーで定義された share-thumbnail.png を使用したくありません。

私の考えでは、jquery を使用して .special-sharing リンクのクリック イベントをリッスンし、次に… preventDefault(); を使用しました。たとえば、ヘッドのメタ タグのコンテンツ属性を新しいイメージ src に変更します。次に、facebook?sharer= blabla を呼び出します。

どのように解決しますか?

4

1 に答える 1

1

(注意: 私は Facebook の API には詳しくなく、Javascript と Web 全般に精通しています。)

残念ながら、できません。

jQuery (または一般的には Javascript) を使用してタグ付けすること<meta>は可能ですが、ユーザーのブラウザーで現在読み込まれているページのコピー以外に変更を加えることはできません。Facebook へのリンクが呼び出されると、現在のページが破棄され、Facebook のページが読み込まれます。次に、ページで独自のヒットを実行して を取得します。サーバー上のファイルは変更されていないため、この値は元の値のままです。<link>og:image

代わりに、URL を介して画像をカスタマイズできるようにサーバーを設定することもできます。たとえばhttp://www.example.com/mypage.php、 のデフォルト値を作成して、タグの値og:imagehttp://www.example.com/mypage.php?special-image=foo.gif変更します。<meta>次に、Javascript を使用して Facebook に渡される共有者を変更し、特別な画像を指す特別な URL を使用するようにします。

于 2011-03-10T07:19:35.957 に答える