В основном window.devicePixelRatio показывает неверное значение при использовании внутри iframe. Он показывает 2,5 на верхнем уровне, но 2 в iframe.
Здесь вы можете увидеть значение, используемое в iframe: https://codepen.io/KennyLindahl/pen/wvBxjGb
Теперь введите окно .devicePixelRatio в консоли devtool и убедитесь, что это значение отличается от значения в iframe.
Базовый c локальный тест может выглядеть следующим образом в методе рендеринга React:
return (
<React.Fragment>
<div>{window.devicePixelRatio}</div>
<iframe src="https://jsfiddle.net/s5k391oa/11/show"></iframe>
</React.Fragment>
)
Примечание: я не могу написать window.devicePixelRatio в codepen, потому что это также iframe и будет показывать тот же результат. Поэтому вам нужно написать это в консоли клиента js.
Кто-нибудь знает обходной путь для этого или может объяснить, почему это так?