移动端项目,需要通过js设置1rem是多少像素,但是获取设备宽度document.documentElement.clientWidth在手机QQ聊天对话框中拿到的document.documentElement.clientWidth 偶尔为0。在真正的QQ浏览器中不会有问题。不知道手机QQ聊天对话框中的这个浏览器是什么鬼。
改为document.body.clientWidth 也会偶尔获取到0
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>Document</title>
</head>
<body>
<script>
window.onload=function () {
var remSize = document.documentElement.clientWidth
}
</script>
</body>
</html>
问题复现
没有qq浏览器,ie浏览器,把内核调到ie5,问题出现
document.documentElement.clientWidth一直为0
思路
用jQuery能不能解决这个问题呢,比如
$("body").width()
测试有效。
故而查看jQuery源码
可以看到它取元素的话
方案