Skip to content

Commit

Permalink
fix: custom height and iframe SecurityError (#26)
Browse files Browse the repository at this point in the history
* fix: custom height and iframe SecurityError

* update snapshot

* fix height judge

* fix coverage

* reduction ts version
  • Loading branch information
shaodahong committed Sep 7, 2020
1 parent 060dc9b commit 7bdb272
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 5 deletions.
6 changes: 6 additions & 0 deletions examples/basic.tsx
Expand Up @@ -34,6 +34,12 @@ export default function Base() {
src="https://gw.alipayobjects.com/mdn/rms_08e378/afts/img/A*NZuwQp_vcIQAAAAAAAAAAABkARQnAQ"
width={200}
/>

<Image
src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
width={200}
height={100}
/>
</div>
);
}
1 change: 1 addition & 0 deletions src/Image.tsx
Expand Up @@ -102,6 +102,7 @@ const ImageInternal: React.FC<ImageProps> = ({
className: cn(`${prefixCls}-img`, {
[`${prefixCls}-img-placeholder`]: placeholder === true,
}),
style: height !== undefined ? { height } : undefined,
};

return (
Expand Down
16 changes: 11 additions & 5 deletions src/Preview.tsx
Expand Up @@ -8,6 +8,7 @@ import CloseOutlined from '@ant-design/icons/CloseOutlined';
import classnames from 'classnames';
import addEventListener from 'rc-util/lib/Dom/addEventListener';
import { getOffset } from 'rc-util/lib/Dom/css';
import { warning } from 'rc-util/lib/warning';
import useFrameSetState from './hooks/useFrameSetState';
import getFixScaleEleTransPosition from './getFixScaleEleTransPosition';

Expand Down Expand Up @@ -155,11 +156,16 @@ const Preview: React.FC<PreviewProps> = props => {
const onMouseUpListener = addEventListener(window, 'mouseup', onMouseUp, false);
const onMouseMoveListener = addEventListener(window, 'mousemove', onMouseMove, false);

// Resolve if in iframe lost event
/* istanbul ignore next */
if (window.top !== window.self) {
onTopMouseUpListener = addEventListener(window.top, 'mouseup', onMouseUp, false);
onTopMouseMoveListener = addEventListener(window.top, 'mousemove', onMouseMove, false);
try {
// Resolve if in iframe lost event
/* istanbul ignore next */
if (window.top !== window.self) {
onTopMouseUpListener = addEventListener(window.top, 'mouseup', onMouseUp, false);
onTopMouseMoveListener = addEventListener(window.top, 'mousemove', onMouseMove, false);
}
} catch (error) {
/* istanbul ignore next */
warning(false, `[rc-image] ${error}`);
}

return () => {
Expand Down

1 comment on commit 7bdb272

@vercel
Copy link

@vercel vercel bot commented on 7bdb272 Sep 7, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.