document.documentElement.clientWidth 为什么有时候会获取到0
移动端项目,需要通过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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题复现
没有qq浏览器,ie浏览器,把内核调到ie5,问题出现
document.documentElement.clientWidth一直为0
思路
用jQuery能不能解决这个问题呢,比如
$("body").width()
测试有效。
故而查看jQuery源码
可以看到它取元素的话
方案
我现在也遇到这个问题了,不是QQ浏览器。而是公司APP的webview,奇怪的是。只有其中一个页面会出现这个情况。我也很纳闷。