2017-02-14 105 views
13

我试图在我的项目中实现Facebook的注销功能。登录工作得很好。但是我正面临使用注销代码在JavaScript控制台中获取以下消息。JavaScript - 铬违规:[违规]处理程序花了83ms的运行时间

[违反]运行的JavaScript任务花费的时间318ms session.php文件:51个1 sdk.js:135

[违反]接过运行时间83ms(50ms的允许)

我我试图寻找其他类似的线索,这些解决方案对我而言并不成功。我试图删除我的代码的一部分,看看哪个部分给出了问题。它非常清楚,它从Facebook的JS SDK中获得了错误信息。我也禁用了所有的Chrome扩展程序。

在Firefox工作正常,但无法在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。任何帮助表示赞赏。 :)

+1

这只是一个警告,你不必关心它,你的代码仍然会工作。 – NoNameProvided

+1

@NoNameProvided但是注销功能在Chrome中不起作用。它无法重定向到Chrome中的login.php页面。 – FreeKrishna

+1

事件如果不起作用,则与违规消息无关。它们只是非正式的,对你的代码没有影响。 – NoNameProvided

回答

27

“铬违反” 并不代表Chrome的错误或应用程序错误。这些警告旨在帮助您改进脚本。在这里,Chrome提醒您可能有机会加速脚本。 (“违规”可能是有误导性的术语;它的真正含义是脚本违反了预先定义的准则。这些消息最初在2017年初出现在Chrome中,理想情况下应该有一个“更多信息”提示来详细说明词义和赋予建议的操作给开发者,希望那些将在未来加入。)

0

看来你找到了你的解决方案,但它仍然将是帮助他人,对this page上点

4.注意Animation Fired事件右上角的红色三角形。无论何时您看到一个红色三角形,都会警告有可能是与此事件相关的问题 。

如果将鼠标悬停在这些三角形就可以看到这些都是违规处理程序错误和按点4是有与该事件有关的一些问题。