我正在尝试使用 JS 获取浏览器的缩放级别。 不是内置缩放(通过使用命令和 + 或 -),而是用户使用触摸板或鼠标滚轮调整窗口大小时的缩放。
我尝试使用 Chrome API
chrome.tabs.getZoom()
,但这会获取缩放选项大小。
另外
devicePixelRatio
只获取 DPI 并且始终为 2。
我需要这个,因为我正在网页中绘制一个区域,我将用画布裁剪该区域。我能够获得正确的选项卡窗口屏幕截图(无论是否放大),但如果放大(使用触摸板或鼠标滚轮),裁剪就会关闭
如果我理解正确的话...
您不知道文档正文何时被缩放,并且冒着裁剪失败的风险,您正在寻找一种正确计算裁剪尺寸/区域的方法,对吗?
如果这是问题所在,那么我会这样做:
给定... W = 你的框架/窗口 ID,然后:
var B=W.contentWindow.document.body;
var Z=W.contentWindow.getComputedStyle(B,null).getPropertyValue('zoom');
// Assuming you are cropping a rectangle then...
Crop_X1*=Z;
Crop_Y1*=Z;
Crop_X2*=Z;
Crop_Y2*=Z;
换句话说,只需将获取的裁剪坐标乘以缩放系数即可。