API
IntersectionObserver API
09 Nov 2022
Шаблон перевірки для IntersectionObserver API, який функціонує починаючи з: Safari 12.1 на Desktop та Safari 12.2 на IOS
JS
function iOSversion() {
if (/iP(hone|od|ad)/.test(navigator.platform)) {
// supports iOS 2.0 and later: <http://bit.ly/TJjs1V>
var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
}
}
const iOSVersion = iOSversion();
const safariVersion = String(navigator.sayswho).split(' ');
let flag = false;
// return all under Safari 12 Desktop
if ((safariVersion[0] === 'Safari') && (Number(safariVersion[1]) < 12)) {
flag = true;
}
// return all under Safari 12 iOS
if (iOSVersion && (iOSVersion[0] < 12 || (iOSVersion[0] === 12 && iOSVersion[1] < 2))) {
flag = true;
}
if (!flag) {
const observer = new IntersectionObserver(callback, { threshold: 0.3 });
}