Итак, у меня есть одностраничное приложение, которое воспроизводит видео из нашей базы данных. Страница загружается на www.foo.com/player.php, и я использую PHP для установки параметра ID видео, чтобы иметь общий URL. Таким образом, страница загружается, URL-адрес общего доступа вставляется как в FB, так и Twitter как http://www.foo.com/player.php?id=1, а кнопки совместно используют правильный URL-адрес. Я использую стандартные реализации обеих кнопок.Как обновить URL-адрес кнопки Facebook/Twitter через AJAX?
Проблема заключается в том, что, когда пользователь меняет видео, ни одна кнопка не обновляет URL-адрес, он по-прежнему показывает http://www.foo.com/player.php?id=1.
Я попытался добавить это к моей функции успеха AJAX:
$(".facebook-share-button").data("href", "http://www.foo.com/player.php?id=" + data.videoID);
$(".twitter-share-button").data("url", "http://www.foo.com/player.php?id=" + data.videoID);
Если проверить эти данные атрибутов в консоли, они показывают правильный URL, так что я знаю, что это обновление атрибутов с тем, что я хотите, но кнопки не забирают новый URL.
Для Twitter, я нашел свое предложение, чтобы обновить кнопку с
tweet_button.render();
Но это не обновить свой общий URL.
Я также пробовал обновлять URL-адрес браузера с помощью history.pushstate, и он обновляется на дисплее браузера, но все же не определяется кнопками общего доступа.
Кто-нибудь нарушил эту проблему?