Я использую полизаполнение IntersectionObserver из w3c.Эта конкретная строка разрывается в Safari.После расследования я обнаружил, что приведенный ниже фрагмент не работает в Safari, но работает в Chrome и Firefox.Есть ли альтернатива этому вопросу?Я передаю 0.3
_initThresholds ()
IntersectionObserver.prototype._initThresholds = function(opt_threshold) {
var threshold = opt_threshold || [0];
if (!Array.isArray(threshold)) threshold = [threshold];
return threshold.sort().filter(function(t, i, a) {
console.log(t, i, a);
if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {
throw new Error('threshold must be a number between 0 and 1 inclusively');
}
return t !== a[i - 1];
});
};
Если приведенный выше фрагмент кода запускается в Safari, он возвращает:
`0.3 – 0 – undefined` in Safari
TypeError: undefined is not an object (evaluating 'a[i - 1]')
В Chrome и Firefox он возвращает:
0.3 0 Array [ 0.3 ]
Array [ 0.3 ]