Ссылка, которую вы разместили в исходном вопросе, довольно хороша. Он просит нас создать три функции:
1) saveFacebookRoot: это необходимо, чтобы div#fb-root
можно было восстановить позже. Это называется page:fetch
. page:fetch
вызывается, пока DoM все еще находится на старой странице. то есть: новая страница не заменила старую страницу
2) restoreFacebookRoot: это необходимо для того, чтобы div#fb-root
можно было добавить обратно на страницу. Он называется page:change
. page:change
вызывается, когда доступен новый DoM.
3) Там небольшая опечатка. Нам нужно вызвать это в page:load
FB.XFBML.parse() // Correct
Вместо :
FB?.XFBML.parse() // InCorrect
Помните, что при первой перезагрузке страницы из этих трех вызывается только page:change
.
Хитрость здесь заключается в использовании глобальных переменных fb_root
и fb_events_bound
. Они должны быть доступны на всех других страницах, но именно поэтому мы в первую очередь ненавидим турбоссылки.
Ссылки: http://reed.github.io/turbolinks-compatibility/facebook.html а>
person
Nerve
schedule
07.08.2013