在iPad等移动设备上,我想禁用只有在支持position:fixed时才有效的功能。有没有办法在不使用用户代理字符串的情况下检测这些设备?原因是我想尽可能避免搜索iPad,iPhone,iPod,Android等。
答案 0 :(得分:3)
运行以下函数以测试position:fixed
支持。
function () { var isSupported = null; if (document.createElement) { var el = document.createElement("div"); if (el && el.style) { el.style.position = "fixed"; el.style.top = "10px"; var root = document.body; if (root && root.appendChild && root.removeChild) { root.appendChild(el); isSupported = el.offsetTop === 10; root.removeChild(el); } } } return isSupported; }
答案 1 :(得分:0)
也会在Opera Mini上返回误报。
为什么不简单地设置一个位置:固定在某个元素上然后再读回来?如果position:fixed不支持返回值,则不应等于理论上的固定
在Opera Mini上不起作用:您可以将位置设置为“固定”,即使不支持,它也会显示为“已修复”。