Я нашел то же самое, а также с помощью браузера Android. Исправление Шахида сработало для меня, и тогда я понял, что другим подходом было бы поместить перенаправление в функцию обратного вызова следующим образом:
function mysignout(url)
{
FB.logout(function()
{
top.location.href = 'url'
});
}
Если вы похожи на меня, вы, вероятно, подумали, что FB.logout просто уничтожает cookie или что-то в этом роде, но, похоже, выполняет некоторые ajax-вызовы (я полагаю, чтобы отменить аутентификацию на сервере) и имеет разное время выполнения, особенно на мобильных устройства, использующие беспроводные сети.
2000 мс может не обязательно быть достаточным для завершения функции или может быть больше, чем необходимо. Функция обратного вызова выполняется после завершения FB.logout в каждом случае.