javascript - chrome违规:[Violation] Handler花了83ms的运行时间 [英] javascript - chrome violation : [Violation] Handler took 83ms of runtime

查看:186
本文介绍了javascript - chrome违规:[Violation] Handler花了83ms的运行时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的项目中实现Facebook的注销功能。登录工作正常。但我正面临着在JavaScript控制台中使用注销代码获取以下消息。

I'm trying to implement the Facebook's logout functionality in my project. Login works just fine. But i'm facing the getting the following message in JavaScript console with the logout code.


[违规]长时间运行的JavaScript任务耗时318ms .php:51 1
sdk.js:135

[Violation] Long running JavaScript task took 318ms session.php:51 1 sdk.js:135

[违规]处理程序运行时间为83毫秒(允许50毫秒)

[Violation] Handler took 83ms of runtime (50ms allowed)

我试图搜索其他类似的线程,这些解决方案对我来说没有用。我尝试删除部分代码,看看哪个部分有问题。很明显,由于Facebook的JS SDK导致错误,如消息中所示。我也停用了我的所有Chrome扩展程序。

I've tried to search for other similar threads and those solutions didn't work out for me. I tried removing parts of my code and see which part is giving problem. Its quite clear that its getting the error due to Facebook's JS SDK as seen in the message. I've also disabled all of my Chrome extensions.

代码在Firefox 中运行良好,但不在Chrome中,也不在Opera中即可。我有什么方法可以延长这个超时时间吗?或者在chrome中解决此问题的任何其他方法。这是我的退出代码。

The code works fine in Firefox but not in Chrome, nor in Opera. Is there any method for me to extend this timeout duration? Or any other method to fix this issue in chrome. Here is my code for logout.

<?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。任何帮助表示赞赏。 :)

For obvious reasons I've removed the App-Id from the code. Any help is appreciated. :)

推荐答案

Chrome违规行为不代表Chrome或您自己的网络应用中的错误。它们是警告,可以帮助您改进应用。在这种情况下,长时间运行JavaScript 需要83毫秒的运行时间警告你可能有机会加速你的脚本。

"Chrome violations" don't represent errors in either Chrome or your own web app. They are instead warnings to help you improve your app. In this case, Long running JavaScript and took 83ms of runtime are alerting you there's probably an opportunity to speed up your script.

(违规不是最好的术语;这里用来暗示脚本违反预定义的准则,但警告或类似的将是这些消息最初在2017年初出现在Chrome中,理想情况下应该有一个更多信息提示来详细说明含义并向开发人员提供建议的操作。希望将来会添加这些消息。)

("Violation" is not the best terminology; it's used here to imply the script "violates" a pre-defined guideline, but "warning" or similar would be clearer. These messages first appeared in Chrome in early 2017 and should ideally have a "More info" prompt to elaborate on the meaning and give suggested actions to the developer. Hopefully those will be added in the future.)

这篇关于javascript - chrome违规:[Violation] Handler花了83ms的运行时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆