diff --git a/src/packages/barrage/barrage.taro.tsx b/src/packages/barrage/barrage.taro.tsx index f5e2e6c254..7851a5b3e1 100644 --- a/src/packages/barrage/barrage.taro.tsx +++ b/src/packages/barrage/barrage.taro.tsx @@ -144,6 +144,11 @@ const InternalBarrage: ForwardRefRenderFunction< if (!loop && index.current >= list.length) { return } + if ( + typeof document === 'undefined' || + typeof document.createElement !== 'function' + ) + return const _index = loop ? index.current % list.length : index.current const el = document.createElement(`View`) diff --git a/src/packages/imagepreview/imagepreview.taro.tsx b/src/packages/imagepreview/imagepreview.taro.tsx index 4cbba5e8ad..ae43708bcf 100644 --- a/src/packages/imagepreview/imagepreview.taro.tsx +++ b/src/packages/imagepreview/imagepreview.taro.tsx @@ -149,6 +149,11 @@ export const ImagePreview: FunctionComponent> = ( init() }, []) const init = () => { + if ( + typeof document === 'undefined' || + typeof document.addEventListener !== 'function' + ) + return document.addEventListener('touchmove', onTouchMove as any) document.addEventListener('touchend', onTouchEnd) document.addEventListener('touchcancel', onTouchEnd) diff --git a/src/packages/popover/popover.taro.tsx b/src/packages/popover/popover.taro.tsx index 51c0f83b18..68283bd413 100644 --- a/src/packages/popover/popover.taro.tsx +++ b/src/packages/popover/popover.taro.tsx @@ -86,7 +86,9 @@ export const Popover: FunctionComponent< nextTick(async () => { const rect = targetId ? await getRectInMultiPlatform( - document.querySelector(`#${targetId}`), + typeof document !== 'undefined' + ? document.querySelector(`#${targetId}`) + : null, targetId ) : await getRectInMultiPlatform(popoverRef.current, popoverId) diff --git a/src/packages/swipe/swipe.taro.tsx b/src/packages/swipe/swipe.taro.tsx index 711dee5e1a..caae5134bc 100644 --- a/src/packages/swipe/swipe.taro.tsx +++ b/src/packages/swipe/swipe.taro.tsx @@ -231,6 +231,11 @@ export const Swipe = forwardRef< })) useEffect(() => { + if ( + typeof document === 'undefined' || + typeof document.addEventListener !== 'function' + ) + return // 并没有生效 const handler: any = (event: { target: Node | null }) => { const targets = [root]