내 프로젝트에서 Facebook의 로그 아웃 기능을 구현하려고합니다. 로그인이 잘 작동합니다. 하지만 로그 아웃 코드와 함께 JavaScript 콘솔에서 다음 메시지가 표시됩니다.
[위반] 장기 실행 자바 스크립트 작업은 318ms 소요 session.php : 51 1 sdk.js : 135
[위반] 처리기가 83ms의 런타임 소요 (50ms 허용)
다른 유사한 스레드를 검색하려고 시도했지만 해당 솔루션이 작동하지 않았습니다. 내 코드의 일부를 제거하고 어떤 부분이 문제를 일으키는 지 확인했습니다. 메시지에서 볼 수 있듯이 Facebook의 JS SDK로 인해 오류가 발생한다는 것은 매우 분명합니다. 또한 모든 Chrome 확장 프로그램을 비활성화했습니다.
코드 는 Firefox 에서는 잘 작동 하지만 Chrome이나 Opera에서는 작동 하지 않습니다 . 이 시간 초과 기간을 연장 할 수있는 방법이 있습니까? 또는 크롬에서이 문제를 해결하는 다른 방법. 다음은 로그 아웃 코드입니다.
<?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를 제거했습니다. 도움을 주시면 감사하겠습니다. :)