谁能想到一种方法来发现用户的每英寸像素数?我想确保图像显示在网络浏览器中exactly我需要它的大小,因此使用分辨率(我可以从用户代理获得)和每英寸像素的组合我可以做到这一点。
但是,我不确定是否有任何方法可以发现用户的每英寸像素数,最好使用 JavaScript 或其他一些非侵入性方法。
有什么建议么?
Thanks,
CJ
您可以使用以下 JavaScript 函数来获取 DPI。
<script type="text/javascript">
var dpi = {
v: 0,
get: function (noCache) {
if (noCache || dpi.v == 0) {
e = document.body.appendChild(document.createElement('DIV'));
e.style.width = '1in';
e.style.padding = '0';
dpi.v = e.offsetWidth;
e.parentNode.removeChild(e);
}
return dpi.v;
}
}
alert(dpi.get(true)); // recalculate
alert(dpi.get(false)); // use cached value
</script>
然而我想它总会回归96
在 Windows 机器上。
据我所知,操作系统无法确定视口的实际物理尺寸。因此,软件实际上很可能不可能知道现实生活中的 DPI。
然而,专业人士在某些部门确保屏幕上的 DPI 与现实生活中的 DPI 相匹配。在这种情况下,上面的 javascript 可能就足够了。
Note:
在 WinXP 和 Win2k 上的 Opera 9、IE6 & 7 和 Firefox 3.6 中测试了上述代码。
Update:
添加了 noCache 参数。但我怀疑它会有任何效果。我在上述 Windows 版本上使用 FireFox 和 Opera 的缩放功能对其进行了测试,无论缩放量是多少,它们都将 DPI 引用为“96”。看看移动设备对此有何看法将会很有趣。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)