2012-01-17 2 views
2

Я создал веб-страницу на основе Ajax. По соображениям совместимости я сделал «Якорь-Навигация» для поддержки всех браузеров и кнопок истории.Можно ли сделать «Anchor Navigation» - Facebook Conform

Теперь у меня есть ссылки как: http://www.harddance.at/#!/newsdetails/62/HoH+weibliche+Acts+bestaetigt

Когда пользователь сообщений эту ссылку в Facebook, это выглядит следующим образом:

enter image description here

У меня есть "_escaped_fragment_?" в Link-Description. И Facebook разбирает неправильный контент.

Извините за мой плохой английский.

ответ

0

Теперь я вижу следующие "факты":

Facebook, делает параметр GET, с элементами, после OpenGraph "Страницы для Facebook Crawler«/ #/ Таким образом, я могу создать!". , и я решил свою проблему! Наконечник с собственным "OpenGraph" Страницы, я получаю от: OpenGraph on Ajax Based Website

Chris

если (Исеть ($ _ GET [ '_ escaped_fragment_']) и preg_match ("/ facebookexternalhit/есть", $ _SERVER [ 'HTTP_USER_AGENT'])) {

$link_details = explode("/", strip_tags(html_entity_decode($_GET['_escaped_fragment_']))); 

$show_page = $link_details[1]; 
$show_id = urldecode($link_details[2]); 
$show_title = urldecode($link_details[3]); 


     // Eventdetails 
     if($show_page=="eventdetails") { 
      include("./includes/opengraph_eventdetails.php"); 
     } 


     // Newsdetails 
     if($show_page=="newsdetails") { 
      include("./includes/opengraph_newsdetails.php"); 
     } 


exit(); 
} 
+0

Разве это не то, что я рекомендовал в своем ответе? – DMCS

0

Пожалуйста, смотрите мой ответ на другую должность, которая может помочь вам в отладке этот вопрос:

http://facebook.stackoverflow.com/a/8887746/558021

Я подозреваю, что проблема была вызвана отсутствует og:tags.

+0

Спасибо за ваш ответ. Я пытаюсь использовать теги Open_Graph, но это не решило мою проблему. Проблема заключается в том, что «? _escaped_fragment_?», Facebook пытаются проанализировать контент из этого «прокомментированного URL-адреса», и он не работает. –

+0

Вся информация, содержащаяся на картинке выше, извлекается из 'og: tags' - включая URL-адрес, который имеет«? _escaped_fragment_? ». часть. Прочтите мой ответ в приведенной выше ссылке. Там также есть сведения о том, как проверить изменения, которые вы делаете, на 'og: tags'. – Lix

+0

Я тестировал все, но ничего не работает. Проблема в Facebook, когда я отправляю случайный URL-адрес, с параметром/#! /, Синтаксический анализ не выполняется. Мое решение: Якорная навигация без "!" Charakter. Или есть другой способ? http://img6.imagebanana.com/img/4hf2e601/Unbenannt.PNG –

2

я хотел бы видеть, что следующая информация, которую я понял из этого вопроса OpenGraph on Ajax Based Website


Open Graph Разметка должна присутствовать на HTML-страницах, которые GETable с чистой HTTP.

Это связано с тем, что, когда пользователь взаимодействует с объектом OG (например, выполняет действие и т. Д.), Facebook выполняет HTTP GET на URL OG и ожидает, что в разметке появятся теги OG.

Решение заключается в создании канонических URL-адресов для каждого из ваших объектов. Эти URL-адреса содержат базовую разметку HTML, включая теги OG.

В случае запросов к этим URL-адресам, если вы видите строку входящего пользователя, содержащую «facebookexternalhit», вы визуализируете HTML. Если вы этого не сделаете, вы обслуживаете 302, который перенаправляет ваш URL-адрес ajax. На Аякса URL, ваши как кнопки и любые действия, которые вы публикуете О.Г. следует указать каноническую объект URL

Пример:

Как пользователь, я на http://yoursite.com/#!/artists/monet. Я нажимаю подобную кнопку или публикую действие, но параметр href аналогичного типа, или URL-адрес объекта, когда вы публикуете действие, должен быть веб-конкретизируемым URL-адресом для объекта. В этом случае возможно http://yoursite.com/artists/monet

Когда пользователь, использующий браузер, попадает в http://yoursite.com/artists/monet, вы должны перенаправить их на http://yoursite.com/#!/artists/monet, но если входящий пользовательский агент говорит, что это скребок Facebook, вы просто возвращаете разметку, которая представляет художника Моне.

Для примеров с реальным миром см. Deezer, Rdio и Mog, которые используют этот шаблон дизайна.

+0

Спасибо! Вопрос, связанный с вами, - это вопрос от меня Просто 4 Информация :) –

Смежные вопросы