javascript - 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 );
} );
解决方案
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
推荐阅读
- c# - C#:找不到类型或命名空间名称“DEVMODE”
- android - 教程中的代码现在不起作用
- tfs - TFS 2018 API - 生成 PAT 或 SSH
- node.js - 节点红色 HTTP POST 参数
- apache-kafka - Kafka 流是否可以将输出写入两个不同的主题?
- bash - 无法通过 Bash 变量将带引号的标志传递给可执行文件
- sql-server - 用于还原数据库的具有可变日期和时间的文件名
- laravel - 如何访问对象属性?
- php - 我正在使用 laravel 5.4 和 php 7.2 并出现以下问题
- node.js - MongooseAutoIncrementID.initialise 不是一个函数.." 如果我使用 ES5 要求 ('mongoose-auto-increment-reworked') 会显示