renatomarinho/laravel-page-speed

Uncaught SyntaxError: unexpected token: keyword 'if'

ShapesGraphicStudio opened this issue · 2 comments

When using RenatoMarinho\LaravelPageSpeed\Middleware\CollapseWhitespace::class I get a JS related error: Uncaught SyntaxError: unexpected token: keyword 'if'

Looks like this part is causing it:

document.onreadystatechange = function () {
        var state = document.readyState
        if (state == 'interactive') {
            document.getElementById('contents').style.visibility="hidden";
        } else if (state == 'complete') {
            setTimeout(function(){
                $('#loading').fadeOut(1600);
                document.getElementById('contents').style.visibility="visible";
            }, 800);
        }
    }

If I change the code to:

document.onreadystatechange = function () {
        var state = document.readyState;
        if (state == 'interactive') {
            document.getElementById('contents').style.visibility="hidden";
        } else if (state == 'complete') {
            setTimeout(function(){
                $('#loading').fadeOut(1600);
                document.getElementById('contents').style.visibility="visible";
            }, 800);
        }
    }

I get Uncaught SyntaxError: unexpected token: keyword 'var'

Everything is working fine when I comment in Kernel.php:
RenatoMarinho\LaravelPageSpeed\Middleware\CollapseWhitespace::class,

Environment:
PHP 7.4.12
Laravel 8.17.2

Any idea on how to get this fixed please?

I solved this correcting my js to:

document.onreadystatechange = function () {
        if (document.readyState == 'interactive') {
            document.getElementById('contents').style.visibility="hidden";
        } else if (document.readyState == 'complete') {
            setTimeout(function(){
                $('#loading').fadeOut(1600);
                document.getElementById('contents').style.visibility="visible";
            }, 800);
        }
    };

Hi @ShapesGraphicStudio Thanks for reporting! I'll check it