2012-03-07 43 views
6

Tôi đang phát triển một trang web dựa trên ajax và tôi muốn bao gồm chức năng chia sẻ FB trên nội dung được tải. Các liên kết sử dụng một thẻ băm và tôi không thể quản lý để có được các liên kết đầy đủ để hiển thị khi sử dụng chức năng chia sẻ, tôi chỉ nhận được các url miền. Thẻ băm không được phép hoặc có phương pháp đặc biệt để chia sẻ các liên kết đó không?Sử dụng thẻ băm có thể chia sẻ trên Facebook?

+5

Văn bản sau một '#' trong URI là mã định danh ** mảnh **, không phải thẻ băm. Thẻ bắt đầu bằng # là một hệ thống để tạo điều kiện tìm kiếm nội dung liên quan trên Twitter. – Quentin

+0

Ah tôi hiểu rồi, cảm ơn. –

Trả lời

20

Sử dụng mã hóa URL cho ký tự #. Chỉ cần thay thế như sau:

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

với:

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

này sẽ cho phép bạn để vượt qua # để chia sẻ trên Facebook, Twitter, vv mà không bị tước bỏ.

+2

Ryan @ Cool, cảm ơn! –

+6

Điều này không còn hoạt động nữa. –

+2

Nó cho tôi! Lần đầu tiên tôi thay thế '#' bằng '% 23' và hơn 'urlencode()' của PHP trên đầu trang – FFish

1

Hãy xem câu trả lời của Google đối với vấn đề nội dung AJAX, the hashbang.

Về cơ bản, trên trang AJAX của bạn, thiết lập các băm để !/path/to/whatever/ – nói cách khác,

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

Hãy ghi nhớ máy chủ của bạn thực sự phải phục vụ nội dung tương tự như những gì bạn thấy trong các ứng dụng AJAX tại http://www.example.com/path/to/whatever/ .

Tôi không chắc liệu Facebook có tôn trọng hashbang hay không, nhưng ít nhất cũng giải quyết được các vấn đề của Googlebot cho bạn. Chỉnh sửa: Có vẻ như Facebook doesn't support the hashbang. Có thể bạn sẽ phải thiết lập trang chuyển hướng.

+0

Cảm ơn. Có, tôi đã thấy chuỗi đó ngay bây giờ, có vẻ như FB không hỗ trợ bất kỳ loại phương thức băm nào: ( –

Các vấn đề liên quan