JS判断屏幕分辨率并按分辨率不同加载不同内容的方法
现在越来越多自适应网页,电脑端和手机端都能访问,但是在这些页面如果我们需要加载一个图片广告位,比如720X90大小的,那这个图片我们在电脑端访问显示是正常大小的,但是如果在手机端访问,如果有CSS控制图片大小(比如max-width),那就会被压缩的不成样子,如果没有CSS控制,那又会出现图片顶破画面的情况。
这个时候就需要用到我们这里提到的办法,使用JS来判断访客屏幕的分辨率,并按不同分辨率载入不同的广告图片的方法。
首先看几个案例,理解下是怎么运行的
1、判断屏幕分辨率
<script language="JavaScript"> function redirectPage() { var w=screen.width; var h=screen.height; alert("经系统检测,你的屏幕分辨率为 " + w+"*"+ h); } </script>
这里定义w为屏幕宽,h为屏幕高,然后通过alert来弹窗提示你的屏幕分辨率大小
2、根据不同分辨率显示不同内容
<script> function ScreenWidth(){ if (screen.width == 1440){ alert("1440*900"); }else if (screen.width == 800){ alert("800*600"); }else if (screen.width == 1366){ alert("1366768"); }else { alert("全部不符合"); } } </script> <input type="button" name="" value="fenbianli " onclick=" ScreenWidth()"/>
这里定义一个function来接收input提交,点击后执行这个function,判断屏幕宽度,如果是1440就显示1440*900,是800就显示800*600,是1366就显示1366*768,如果不符合上面三种宽度则显示“全部不符合"
3、正题根据屏幕分辨率来加载不同内容
从刚才的案例2就可以发现,其实就是用if来判断就行了
我们可以写成这样
<script> if(screen.width>=1440){document.writeln(你的广告代码1);} if(screen.width>=1024){document.writeln(你的广告代码2);} else{ document.writeln(你的广告代码3); } </script>
这里使用了document.writeln的方法,需要注意里面的字符转义,不会手工转的话,可以用我们的工具转https://tool.bnxb.com/htmljs.html
当然这里就可以自由发挥了,比如还可以用innerText或者innerHTML的方法插入元素,详见https://www.bnxb.com/javascript/27164.html
4、一个别站的案例,通过JS判断访客屏幕分辨率,根据不同分辨率加载不同的CSS文件
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>一个演示文档</title> <link rel="stylesheet" id="sc" type="text/css" href="css/css1.css"/> <script type="text/javascript"> window.onload=function(){ var sc=document.getElementById("sc"); var d=document.getElementById("d"); if(screen.width>1024) //获取屏幕的的宽度 { sc.setAttribute("href","css/css2.css"); //设置css引入样式表的路径 d.innerHTML = "你的电脑屏幕宽度大于1024,我的宽度是 1200px, 背景色现在是红色。"; } else{ sc.setAttribute("href","css/css1.css"); d.innerHTML = "你的电脑屏幕宽度小于或是等于1024,我的宽度是 960px, 背景色现在是蓝色。"; } } </script> </head> <body> <div id="d"></div> </body> </html>
这里通过判断屏幕宽带,如果大于1024就将默认的<link rel="stylesheet" id="sc" type="text/css" href="css/css1.css"/>中的href中的"css/css1.css"字段,替换成css/css2.css,并在div id号是d的地方插入一个HTML代码,标示出你的电脑屏幕宽度大于1024,我的宽度是 1200px, 背景色现在是红色。
css1.css里面的内容
*{ margin:0; padding:0;} div{ width:960px; height:400px; margin:0 auto; background:blue; color:#ffffff;}
css2.css里面的内容
*{ margin:0; padding:0;} div{ width:1200px; height:400px; margin:0 auto; background:red; color:#fff;}
- 最新评论