我想检测浏览器是否放大或缩小(不是真的想知道该值,但我认为无论如何都需要在决策过程中找到它)。我已经阅读了很多关于该主题的其他SO帖子,但没有一个解决方案在FF上工作(尽管有IE7 / 8和Chrome解决方案)。
哦,我不能使用闪存,所以闪存解决方案是不可能的。
编辑:我必须能够在初始页面加载
上检测到这一点答案 0 :(得分:7)
使用现代版本的FireFox,您现在可以执行以下操作:
DPR = window.devicePixelRatio;
if ( DPR <= 0.999 || DPR >= 1.001 ){
// User has zoomed in or zoomed out
}
答案 1 :(得分:2)
如果通过缩放表示用户按下了ctrl / cmd + [plus]而不是css转换,则可以检测到计算出的字体大小。刚刚在FF 4.0.1 / Mac中检查过,它对我有用。为了检测计算出的字体大小,我使用了这个问题的代码:Get computed font size for DOM element in JS。
缩放后更改的值。您需要知道某个元素的字体大小应该是什么(在css中设置)并将其与实际情况进行比较。
答案 2 :(得分:1)
我建议你看看generic question。并且可能将您自己作为副本关闭(不是自己投票,因为它不是“完全重复”。
答案 3 :(得分:0)
您是否尝试检测分辨率,这可能有助于您检测缩放。
答案 4 :(得分:0)
也许您没有检测到缩放,而是可以检测到错误。
例如,如果您的布局要求元素的偏移量为100,200,并且查询显示它位于300,450,那么您将知道它位于错误的位置,您可以应用修正/解决方法。
这样做的另一个好处是,如果在未来版本的浏览器中修复缩放问题,您将无法不必要地或不正确地应用修复。