Обходной путь для динамических страниц и Facebook-likebox - PullRequest
1 голос
/ 21 сентября 2011

У меня сложная проблема претта (по крайней мере, для меня).У меня есть динамическая страница, где все загружается с использованием ajax и javascript.На этой странице есть сотни различных новостных элементов, и я хотел бы дать всем им уникальное поле «лайк».

При клике на блоке лайков сценарий Facebook проверяет вашу страницу и получает информацию.

Я пробовал следующий обходной путь: URL-адрес Facebook-скрипта, который предполагается пинговать, управляется php-скриптом.Если есть набор параметров get, то описание, заголовок и URL по умолчанию заменяются описанием, заголовком и URL, которые принадлежат новостному элементу, выбранному идентификатором get.

Кажется, что проблема заключается в том, чтоFacebook-скрипт игнорирует параметр get и каждый раз пингует только стандартную страницу.

Кто-нибудь подробно знает, как работает этот скрипт, и можно ли найти обходной путь для этого?

Thomas

1 Ответ

0 голосов
/ 21 сентября 2011

Facebook печально известен такими вещами. Прежде всего, обратите внимание, что он кешируется, поэтому, если вам нравится определенный URL так много раз (может быть 5, не уверен), изменение того, что находится на URL, больше не изменит ничего на Facebook, даже если вам нравится его с другой учетной записью или что-нибудь .

В любом случае, FB не хочет следовать вашим GET-параметрам, поэтому вам придется выполнить некоторую пользовательскую маршрутизацию и сделать что-то вроде http://yourapp.example.com/newsitem/1, и загрузить ваш php-скрипт с этим идентификатором.

Детали могут различаться в зависимости от того, какую платформу вы используете (а я даже не PHP-парень :)), но я просто гуглю, как сделать маршрутизацию. В худшем случае, вы можете использовать apache, чтобы перенаправить этот URL-адрес на http://yourapp.example.com/newsitem.php?id=1,, поэтому в PHP вы не увидите ничего другого. Вы бы сделали это с mod_rewrite.

Извините, если это раздражающе неспецифично:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...