首页 > 解决方案 > Firefox 不加载脚本

问题描述

我正在使用平滑滚动条(https://github.com/idiotWu/smooth-scrollbar/blob/develop/dist/smooth-scrollbar.js)并实现了这一点。在 Chrome 上它可以正常工作。Firefox 说“SyntaxError:错误的方法定义 main.js 5:8”,我做错了什么?完全卡住了

现场示例:https ://saraleszczynska.pl

代码(main.js)

var Scrollbar = window.Scrollbar;



class HorizontalScrollPlugin extends Scrollbar.ScrollbarPlugin
{
    static ScrollbarPluginginName = 'horizontalScroll';

    transformDelta( delta, fromEvent )
    {
        if ( !/wheel/.test( fromEvent.type ) )
            return delta;

        const { x, y } = delta;

        return {
            y: 0,
            x: Math.abs( x ) > Math.abs( y ) ? x : y,
        };
    }
}



Scrollbar.use( HorizontalScrollPlugin );

( function ( $ )
{
    var scroll = Scrollbar.init( document.querySelector( '#gallery' ), {
        alwaysShowTracks: true,
    } );

    scroll.track.yAxis.element.remove();

    $( '.goto' ).on( 'click touchstart', function ( e )
    {
        e.preventDefault();

        $( 'html, body' ).animate( {
            scrollTop: $( this.hash ).offset().top,
        }, 800 );
    } );


标签: javascriptjqueryhtmlcssfirefox

解决方案


Update

Static class fields are now supported since Firefox 75 (released Apr 8, 2020)

Original Answer

That's because Firefox does not support static class fields yet.

Check caniuse.com

Reason:

Public and private field declarations are an experimental feature (stage 3) proposed at TC39, the JavaScript standards committee. Support in browsers is limited, but the feature can be used through a build step with systems like Babel. See the compat information below.

Source: MDN


推荐阅读