2012-03-07 26 views
6

我正在開發一個基於ajax的網站,我想在加載的內容中包含一個FB共享函數。鏈接使用哈希標記,我無法設法獲得使用共享功能時顯示的完整鏈接,我只獲取域網址。哈希標記是不允許的還是有共享這種鏈接的特殊方法嗎?在Facebook共享中使用哈希標記可能嗎?

+5

URI中'#'後面的文本是一個**片段標識符**,而不是一個哈希標記。哈希標籤是一種便於在Twitter上搜索相關內容的系統。 – Quentin 2012-03-07 22:34:27

+0

啊,我明白了,謝謝。 – 2012-03-08 15:38:43

回答

20

使用#字符的URL編碼。只需更換如下:

http://www.example.com/#/path/to/whatever/ 

有:

http://www.example.com/%23/path/to/whatever/ 

這將允許你通過#在Facebook,微博等分享而不會剝離。

+2

瑞恩@酷,謝謝! – 2012-07-17 17:44:17

+6

這不再有效 – 2014-03-11 16:37:47

+2

它對我來說!我首先用'%'替換'#' 23'和PHP的'urlencode()'頂部。 – FFish 2015-06-17 12:09:09

1

看看Google對AJAX內容問題的回答,the hashbang

基本上,你的AJAX頁面上,哈希設置爲!/path/to/whatever/ –換句話說,

http://www.example.com/#!/path/to/whatever/ 

請記住您的服務器必須實際提供內容,類似於你在AJAX應用程序的http://www.example.com/path/to/whatever/看。

我不確定Facebook是否尊重hashbang,但它至少可以解決Googlebot問題。 編輯:它看起來像Facebook doesn't support the hashbang。您可能必須設置重定向器頁面。

+0

謝謝。是的,我現在看到那個線程,看起來像FB不支持任何類型的哈希方法:( – 2012-03-07 23:02:28