mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-25 11:52:10 +00:00
improve browser support (#2693)
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'gitbook': patch
|
||||
---
|
||||
|
||||
Avoid errors on legacy browsers
|
||||
@@ -44,6 +44,10 @@ export function Ad({
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof IntersectionObserver === 'undefined') {
|
||||
return;
|
||||
}
|
||||
|
||||
const observer = new IntersectionObserver(
|
||||
([entry]) => {
|
||||
if (entry.isIntersecting) {
|
||||
|
||||
@@ -18,6 +18,10 @@ export function useScrollActiveId(
|
||||
React.useEffect(() => {
|
||||
setActiveId(null);
|
||||
|
||||
if (typeof IntersectionObserver === 'undefined') {
|
||||
return;
|
||||
}
|
||||
|
||||
const onObserve: IntersectionObserverCallback = (entries) => {
|
||||
/**
|
||||
* We need to keep track of all the sections that are intersecting
|
||||
|
||||
@@ -63,7 +63,10 @@ export function ZoomImage(
|
||||
}
|
||||
};
|
||||
|
||||
mediaQueryList.addEventListener('change', onChange);
|
||||
if ('addEventListener' in mediaQueryList) {
|
||||
mediaQueryList.addEventListener('change', onChange);
|
||||
}
|
||||
|
||||
if (imgRef.current) {
|
||||
resizeObserver?.observe(imgRef.current);
|
||||
}
|
||||
@@ -75,7 +78,9 @@ export function ZoomImage(
|
||||
|
||||
return () => {
|
||||
resizeObserver?.disconnect();
|
||||
mediaQueryList.removeEventListener('change', onChange);
|
||||
if ('removeEventListener' in mediaQueryList) {
|
||||
mediaQueryList.removeEventListener('change', onChange);
|
||||
}
|
||||
};
|
||||
}, [imgRef, width]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user