基本上window.devicePixelRatio在 iframe 中使用时会显示错误的值。它在顶层显示 2.5,但在 iframe 中显示 2。
您可以在此处查看 iframe 中使用的值: https ://codepen.io/KennyLindahl/pen/wvBxjGb
现在在您的 devtool 控制台中键入window.devicePixelRatio并查看它与 iframe 中的值不同。
在 React 渲染方法中,一个基本的本地测试可能如下所示:
return (
<React.Fragment>
<div>{window.devicePixelRatio}</div>
<iframe src="https://jsfiddle.net/s5k391oa/11/show"></iframe>
</React.Fragment>
)
注意:我不能在 codepen 中编写window.devicePixelRatio因为它也是一个 iframe 并且会显示相同的结果。所以你需要在你的客户端 js 控制台中编写它。
有谁知道这个的解决方法或可以解释为什么会这样?