3

Facebook共有ページでは、 & マークを含むタイトルを表示できます ex:

url to share: http://myhome.com?q=hi&there

このページのタイトルタグは

<title>hi&amp;there</title>

しかし、実際には、facebook の共有ページには title: hi link: http://myhome.com?q=hiと表示されます。

以下のようにAPIを呼び出します。"http://www.facebook.com/sharer.php?u=" + encodeURIComponent(location.href) + "&t=" + encodeURIComponent(document.title) を使用して、Open Graph メタ タグ(og:title) を使用しようとしました、og:url) ですが、役に立ちません。

Facebook 開発者のデバッグ サイト (https://developers.facebook.com/tools/debug) で自分の URL を確認しました。しかし、デバッグサイトでは、正しいタイトルとリンク(アンパサンド記号を含む)を出力しました

ありがとう。

4

3 に答える 3

2

アンパサンドが元の URL でエンコードされていることを確認する必要があります。そうしないと、変数間の区切り記号として機能します。

アプリがクエリ文字列の値をタイトルとしてエコーすると仮定すると、q次のような URL はhttp://myhome.com?q=hi&there'q' = 'hi' と 'there' = 1 の 2 つの変数を返します。

URL にはリテラルが&エンコードされている必要があります: http://myhome.com?q=hi%26thereto return 'q' = 'hi&there'.

于 2012-05-29T16:11:16.913 に答える
1

次のような任意の URL 文字列をエンコードする php を使用できます。

<? echo urlencode("http://myhome.com?q=hi"); ?>
于 2013-06-10T06:37:03.530 に答える