检测屏幕的宽度

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

<!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 {
                width:window.innerWidth,
                height:window.innerHeight
            }
        }else if(document.compatMode === "CSS1Compat") {  // 标准模式
            return {
                width:document.documentElement.clientWidth,
                height:document.documentElement.clientHeight
            }
        }
        return { // 怪异模式【不带有DTD】
            width: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 {
            width: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>

直接使用标准模式封装。

原文地址:https://www.cnblogs.com/liudaihuablogs/p/9472320.html

时间: 2024-11-10 13:54:17

检测屏幕的宽度的相关文章

检测屏幕宽度,更换样式表

一.通过js检测屏幕宽度,更换样式表 1.javascript更改页面样式表的方法 <!doctype html> <html> <head> <meta charset="utf-8"> <title>javascript更改页面样式表的方法</title> <link id="mylink" rel="stylesheet" href="1.css&quo

UI第三讲.自定义视图 视图控制器指定自定义view 检测屏幕旋转 处理内存警告 容器视图控制器

一.自定义视图 (自定义label-textField视图) 目的:为了进一步优化登录界面,提高代码的精简程度和复用性,可移植性,从而需要在原有视图控件的基础之上自由组合成自定义视图. 一般自定义的视图会继承于UIView.以下是自定义视图的要点和步骤: 1.创建一个UIView子类 2.在类的初始化方法中添加子视图 3.类的.h文件提供一些接口(方法),便于外界操作子视图. 例子及相应代码: 例题:假设我们使用LTView类代表label-textfield视图.创建一个LTView类继承于U

屏幕自适应宽度

移动设备正超过桌面设备,成为访问互联网的最常见终端.于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页? 很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本.这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度. 于是,很早就有人设想,能不能"一次设计,普遍适用",让同一张网页自动适应不同大小的屏幕,根据屏幕宽度,自动

安卓获取屏幕的宽度与高度

获取屏幕的宽度与高度有以下几种方法: 1.WindowManager wm = (WindowManager) getContext()                     .getSystemService(Context.WINDOW_SERVICE);        int width = wm.getDefaultDisplay().getWidth();      int height = wm.getDefaultDisplay().getHeight();   2.Window

android获取手机屏幕的宽度及高度

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics outMetrics = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(outMetrics); int mScreenWidth = outMetrics.widthPixels;//屏幕的宽度 int mScreenHeight

IOS UIDevice & IOS检测屏幕旋转实例

一 UIDevice 简介 UIDevice类提供了一个单例实例代表当前的设备.从这个实例中可以获得的信息设备,比如操作系统名称.电池电量值(batteryLevel).电池状态(batteryState).设备的类型(model,比如iPod.iPhone等).设备的系统(systemVersion) 二 获取 UIDevice 实例 通过[UIDevice currentDevice]可以获取这个单粒对象 UIDevice *device = [UIDevice currentDevice]

CSS根据屏幕分辨率宽度自动适应的办法

CSS根据屏幕分辨率宽度自动适应的办法 第一种办法是js选择CSS <SCRIPT language=JavaScript><!-- Beginif (screen.width == 640){document.write('<link href="/Css/Style.css" rel="stylesheet" type="text/css" />');} if (screen.width == 800){docu

获取屏幕的宽度和高度

在js中,特别是在一些功能,比如底部返回哪些按钮等,经常需要用到,这里综合运用以下,以便可以以后快速获取: /** * 获取屏幕的宽度和高度 * @returns {*} */ function client() { if(window.innerWidth){ // ie9+ 最新的浏览器 return { width: window.innerWidth, height: window.innerHeight } }else if(document.compatMode === "CSS1C

jmobile学习之路 ----检测屏幕宽度

<script type="text/javascript"> window.onresize = function(){ var myh1 = document.getElementById("shuchu"); myh1.innerHTML = document.documentElement.clientWidth; } </script>