Javascript 无法在IOS Safari上访问对象,但可在桌面Chrome上使用

Javascript 无法在IOS Safari上访问对象,但可在桌面Chrome上使用,javascript,php,laravel,Javascript,Php,Laravel,我创建了一个JavaScript过滤器对象,并将其包含在laravelblade.php文件中。 当尝试在Windows10Chrome上访问对象时,它可以工作,但在iOSSafari或Chrome上,我仍然无法定义 var filter = new Filter(); var handlesSlider = document.getElementById('filter-price'); var min = parseInt(handlesSlider.dataset.min); var

我创建了一个JavaScript过滤器对象,并将其包含在laravelblade.php文件中。 当尝试在Windows10Chrome上访问对象时,它可以工作,但在iOSSafari或Chrome上,我仍然无法定义

var filter = new Filter();

var handlesSlider = document.getElementById('filter-price');

var min = parseInt(handlesSlider.dataset.min);
var max = parseInt(handlesSlider.dataset.max) + 1;

noUiSlider.create(handlesSlider, {
    start: [min, max],
    tooltips: true,
    connect: true,
    margin: 5,
    range: {
        'min': min,
        'max': max
    },
    format: {
        // 'to' the formatted value. Receives a number.
        to: function (value) {
            return `${Math.round(value)}€`
        },
        // 'from' the formatted value.
        // Receives a string, should return a number.
        from: function (value) {
            return Number(value.replace(',-', ''));
        }
    }
});


var json = {!! $json !!};
handlesSlider.noUiSlider.on('change.one', function (e) {  

    const min = e[0].replace("€", "");
    const max = e[1].replace("€", "");   

    var filteredProducts = json
    .filter(product =>         
        parseInt(product.price) >= min && 
        parseInt(product.price) <= max);

    filter.render(document.querySelector("{{ $selector }}"), filteredProducts);        
});
filter.render(document.querySelector("{{ $selector }}"), json);       
alert(filter);

在桌面上我得到了清晰的警报对象,但在移动设备上没有定义或根本没有警报。

解决方案是,ios 13.1.3无法理解JS Arrow函数和模块。

我认为safari应该支持代码中的所有内容,但可能是库中的某些内容在safari中不起作用。。。我使用sentry.io调试这些东西-您将在sentry web控制台中获得错误日志(如果它确实崩溃),这样您就可以找出safari中不起作用的原因。
 @include('components.filter', ['min' => $min, 'max' => $max, 'json' => 
 $products->toJson(), 'selector' => '.product-list__products'])