У меня есть webapp, который работает с jQuery Mobile (полная навигационная система ajax). Я инициализирую SDK Facebook на jQueryMobile pageinit событие (каждая страница называется).С JQueryMobile, Facebook JS SDK не работает после смены страницы
jQuery(document).on('pageinit', function (event) {
// load FB SDK
window.fbAsyncInit = function() {
FB.init({
appId : 'MYAPPID',
channelUrl : '//URL/channel.html',
status : true,
xfbml : true,
oauth : true
});
FB.Event.subscribe('auth.authResponseChange', getCurrentUser);
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
// bind a button to get current user manually
$('.findme').off('click');
$('.findme').on('click', getCurrentUser);
});
function getCurrentUser(response) {
FB.api("/me", function (response) {
if (window.console && window.console.log) console.log(response.name);
});
}
И HTML содержит
<button class="findme">Click to get infos about me</button>
Этот код работает на первой странице. Я меняю страницу (ajax call), она не работает на моей второй странице. Я перезагружаю (F5) свою вторую страницу, это работает.
Вы когда-нибудь видели эту проблему? У вас есть идея?