Skip to content

使用 iframe 去访问一个使用了当前组件的页面,页面会报错 #482

@hi-fullmoon

Description

@hi-fullmoon

报错如下:
Image

目测是以下代码导致:

useEffect(() => {
if (movable) {
window.addEventListener('mouseup', onMouseUp, false);
window.addEventListener('mousemove', onMouseMove, false);
try {
// Resolve if in iframe lost event
/* istanbul ignore next */
if (window.top !== window.self) {
window.top.addEventListener('mouseup', onMouseUp, false);
window.top.addEventListener('mousemove', onMouseMove, false);
}
} catch (error) {
/* istanbul ignore next */
warning(false, `[rc-image] ${error}`);
}
}
return () => {
window.removeEventListener('mouseup', onMouseUp);
window.removeEventListener('mousemove', onMouseMove);
// /* istanbul ignore next */
window.top?.removeEventListener('mouseup', onMouseUp);
// /* istanbul ignore next */
window.top?.removeEventListener('mousemove', onMouseMove);
};
}, [open, isMoving, x, y, rotate, movable]);

示例:
内嵌页面为 Image 组件官网,切换侧边示例会复现上述错误
https://codesandbox.io/p/sandbox/jkt7tk

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions