zoukankan      html  css  js  c++  java
  • 检测屏幕的宽度

    【教学视频】封装检测屏幕宽度【可视区】案例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p>检测发现1:所有浏览器都支持怪异模式了,所以没必要在单独判断</p>
    <p>检测发现2:ie9以上版本标准模式都适用,但是ie9以下只有标准模式适用</p>
    </body>
    </html>
    <script>
        function client() {
            if(window.innerWidth != null) {  // ie9 及以上版本
                return {
                    window.innerWidth,
                    height:window.innerHeight
                }
            }else if(document.compatMode === "CSS1Compat") {  // 标准模式
                return {
                    document.documentElement.clientWidth,
                    height:document.documentElement.clientHeight
                }
            }
            return { // 怪异模式【不带有DTD】
                document.body.clientWidth,
                height:document.body.clientHeight
            }
        }
    
        console.log("ie9及以上版本"+window.innerWidth);
        console.log("标准版本"+document.documentElement.clientWidth);
        console.log("怪异模式:"+document.body.clientWidth);
    
            var c = client();
            document.write(c.width);
    </script>

    经过测试:谷歌,火狐,ie9+,ie678均支持document.documentElement.clientWidth【标准模式】。测试去除DTD,标准模式对所述浏览器也支持。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p>检测发现1:所有浏览器都支持怪异模式了,所以没必要在单独判断</p>
    <p>检测发现2:ie9以上版本标准模式都适用,但是ie9以下只有标准模式适用</p>
    </body>
    </html>
    <script>
        function client() {
            return {
                document.documentElement.clientWidth,
                height:document.documentElement.clientHeight
            }
        }
    
        console.log("ie9及以上版本"+window.innerWidth);
        console.log("标准版本"+document.documentElement.clientWidth);
        console.log("怪异模式:"+document.body.clientWidth);
    
        var c = client();
        document.write(c.width);
    </script>

    直接使用标准模式封装。

    前进时,请别遗忘了身后的脚印。
  • 相关阅读:
    JVM调优-Java中的对象
    Spring MVC如何接收浏览器传递来的请求参数--request--形参--实体类封装
    Navicat for MySQL 64位破解版
    Idea详细配置
    数据库--悲观锁【收藏,待尝试】
    性能问题分析
    java 反射机制之 getDeclaredMethod()获取方法,然后invoke执行实例对应的方法
    Mysql show indexes 查看索引状态
    基于(Redis | Memcache)实现分布式互斥锁
    彻底解决每次打开visio都提示windows正在配置visio的问题
  • 原文地址:https://www.cnblogs.com/liudaihuablogs/p/9472320.html
Copyright © 2011-2022 走看看