Я намагаюся застосувати функцію виходу з Facebook у своєму проекті. Вхід працює чудово. Але я стикаюся з отриманням наступного повідомлення в консолі JavaScript із кодом виходу.
[Порушення] Тривале завдання JavaScript зайняло 318 мс session.php: 51 1 sdk.js: 135
[Порушення] Обробник зайняв 83 мс часу роботи (дозволено 50 мс)
Я намагався шукати інші подібні теми, і ці рішення у мене не працювали. Я спробував видалити частини мого коду і подивитися, яка частина видає проблему. Цілком зрозуміло, що помилка з’являється через JS SDK Facebook, як видно з повідомлення. Я також вимкнув усі свої розширення Chrome.
Код чудово працює у Firefox, але ні в Chrome, ні в Opera . Чи існує якийсь спосіб для мене, щоб продовжити цей час очікування? Або будь-який інший спосіб виправити цю проблему в chrome. Ось мій код для виходу.
<?php
session_start();
//echo $_SESSION["current_user"];
//echo $_COOKIE["current_user"];
session_destroy();
unset($_COOKIE["current_user"]);
setcookie("current_user","",time() -3600, "/","", 0);
//header("location: login.php");
?>
<!doctype html>
<html>
<head>
</head>
<body>
<script>
// Default settings
window.fbAsyncInit = function() {
FB.init({
appId : '<app-id>',
cookie : true,
xfbml : true,
version : 'v2.8'
});
FB.AppEvents.logPageView();
};
(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/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.onload = function(){
logout();
}
function logout(){
console.log("1");
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
FB.logout();
console.log("2");
window.location="login.php";
console.log("3");
}
else{
console.log("4");
window.location="login.php";
console.log("5");
}
});
}
</script>
</body>
</html>
Зі зрозумілих причин я видалив з коду App-Id. Будь-яка допомога вдячна. :)