Tôi đang cố gắng triển khai chức năng đăng xuất của Facebook trong dự án của mình. Đăng nhập hoạt động tốt. Nhưng tôi đang gặp phải thông báo sau trong bảng điều khiển JavaScript với mã đăng xuất.
[Vi phạm] Tác vụ JavaScript chạy dài mất 318ms session.php: 51 1 sdk.js: 135
[Vi phạm] Trình xử lý mất 83 mili thời gian chạy (cho phép 50 mili giây)
Tôi đã cố gắng tìm kiếm các chủ đề tương tự khác và những giải pháp đó không hiệu quả với tôi. Tôi đã thử xóa các phần mã của mình và xem phần nào đang gây ra sự cố. Rõ ràng rằng nó nhận được lỗi do SDK JS của Facebook như đã thấy trong thông báo. Tôi cũng đã tắt tất cả các tiện ích mở rộng Chrome của mình.
Mã hoạt động tốt trong Firefox nhưng không hoạt động trong Chrome, cũng như trong Opera . Có phương pháp nào để tôi kéo dài thời gian chờ này không? Hoặc bất kỳ phương pháp nào khác để khắc phục sự cố này trong chrome. Đây là mã của tôi để đăng xuất.
<?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>
Vì lý do rõ ràng, tôi đã xóa App-Id khỏi mã. Bất kỳ trợ giúp được đánh giá cao. :)