violation javascript-chrome: [Violation] le Gestionnaire a pris 83ms de temps d'exécution

j'essaie d'implémenter la fonctionnalité de déconnexion de Facebook dans mon projet. La connexion fonctionne très bien. Mais je suis confronté à la réception du message suivant dans la console JavaScript avec le code de déconnexion.

[Violation] tâche JavaScript de longue durée a pris 318ms session.php: 51 1 SDK.js: 135

[Violation] Gestionnaire a pris 83 mn de l'exécution (50ms autorisé)

j'ai essayé de chercher d'autres pistes similaires et ces solutions n'ont pas fonctionné m'. J'ai essayé d'enlever des parties de mon code et de voir quelle partie pose problème. Il est tout à fait clair que son obtention de l'erreur due au JS SDK de Facebook comme vu dans le message. J'ai aussi désactivé toutes mes extensions Chrome.

le code fonctionne très bien sous Firefox mais pas dans Chrome, ni à l'Opéra. Existe t'il une méthode pour moi de prolonger ce délai? Ou toute autre méthode pour corriger ce problème dans chrome. Voici mon code pour les déconnexion.

<?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>

pour des raisons évidentes, j'ai supprimé L'App-Id du code. Toute aide est appréciée. :)

19
demandé sur FreeKrishna 2017-02-14 08:42:50

3 réponses

"violations de Chrome" ne représentent pas des bogues de Chrome ou des erreurs d'application. Ce sont des avertissements destinés à vous aider à améliorer votre script. Ici, Chrome vous avertit qu'il y a probablement une opportunité d'accélérer votre script.

("Violation" est sans doute une terminologie trompeuse; ce qu'elle signifie réellement, c'est que le script viole une ligne directrice prédéfinie. Ces messages sont apparus pour la première fois dans Chrome au début de 2017 et devraient idéalement avoir une invite "plus d'info" pour développer le sens et donner actions suggérées au développeur. Espérons que ceux-ci seront ajoutés dans le futur.)

40
répondu mahemoff 2017-08-07 20:38:44

il semble que vous avez trouvé votre solution, mais elle sera quand même utile aux autres, sur cette page le point

4.Notez le triangle rouge en haut à droite de l'Animation. Chaque fois que vous voyez un triangle rouge, c'est un avertissement qu'il peut y être une question liée à cet événement.

si vous survolez ce triangle, vous pouvez voir que ce sont les violations handler errors et selon le point 4. oui, il y a quelques question liée à cet évènement.

2
répondu Prafulla Kumar Sahu 2017-12-06 12:26:21

dernière mise à jour de Google Chrome obtenir cette violation, je crois que c'est un bug dans Chrome, mais travailler ok dans Firefox.... Google Chrome échouer dans la dernière mise à jour.

"Violation readystatechange gestionnaire a pris 760ms" après la dernière mise à jour de Chrome

-6
répondu Corintho Fernandes 2017-06-06 13:18:59