2017-02-14 81 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是有與該事件有關的一些問題。