🌋BOM介绍以及方法
- BOM介绍和window对象的方法
(浏览器对象模型 BOM)
1、window alert() confirm() prompt() setInterval() setTimeout()
2、location herf hash url ...
3、screen
4、history go()
1 alert('派大星');
1 var a = window.confirm('你确定要离开网站吗?'); 2 console.log(a);
1 var name = window.prompt('今天吃了什么?','海绵宝宝'); 2 //前面是输入,后面是默认 3 console.log(name);
1 window.setTimeout(function(){
2 console.log('派大星');//延迟了4秒
3 },4000);
4 console.log('海绵宝宝');
5
6 //定时器 异步运行
7 function hello(){
8 alert("hello");
9 }
10
11 var t1 = window.setTimeout(hello,1000);//使用方法名字执行方法
12 var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法
1 var num = 0;
2 var timer = null;
3 timer = setInterval(function(){
4 num++;
5 if(num>5){
6 clearInterval(timer);
7 return;
8 }
9 console.log('num:'+num);
10 },1000);//1秒输出一次
11
12
13 //实时刷新 时间单位为毫秒
14 setInterval('refreshQuery()',8000);
15 /* 刷新查询 */
16 function refreshQuery(){
17 console.log('每8秒调一次')
18 }
- location对象
1 console.log(location.host);//主机名,包括端口 2 console(location.hostname);//主机名 3 console.log(location.href); //完整的url(网址) 4 console.log(location.pathname); //文件名(url中的部分路径) 5 console.log(location.port); //端口号 6 console.log(location.protocol); //协议(HTTP、https) 7 console.log(location.search) //提交的text(查询字符串)
1 HTML、CSS、JS文件代码/BOM代码文件/04 location对象的常用属性.html?user=aaa&pwd=123 2 3 //?user=aaa&pwd=123
1 var qs = location.search.length > 0? location.search.substring(1) : '';//user=aaa&pwd=123 2 //从索引 1 开始取到后面的字符
1 var items = qs.length? qs.split('&') : [];//['user=aaa','pwd=123']
1 var item = null,//装 items 中的元素 2 name = null,//装 item 中的名字 3 value = null,//装名字对应的值 4 args = {};//装结果
1 for(i = 0;i<items.length;i++){
2 item = items[i].split('=');//['name','aaa']等号分隔开
3 name = decodeURIComponent(item[0]);
4 value = decodeURIComponent(item[1]);
5 if(name.length){
6 args[name] = value;
7 }
8 }
9 console.log(args);//示例:{user: "派大星", pwd: "cz"}
1 function userPwd(){
2 //1、取得去掉问好的查询字符串
3 var qs = location.search.length > 0? location.search.substring(1) : '';//user=aaa&pwd=123
4 var items = qs.length? qs.split('&') : [];//['user=aaa','pwd=123']
5 var item = null,name = null,value = null,args = {};
6 for(i = 0;i<items.length;i++){
7 item = items[i].split('=');//['name','aaa']
8 name = decodeURIComponent(item[0]);
9 value = decodeURIComponent(item[1]);
10 if(name.length){
11 args[name] = value;
12 }
13 }
14 return args;
15 }
16 var newUserPwd = userPwd();
17 console.log(newUserPwd);
- 设置跳转、刷新网页
1 setTimeout(function(){ 2 location.href = 'https://www.cnblogs.com/songhaixing/'; 3 //跳转有历史记录 4 location.replace('https://www.cnblogs.com/songhaixing/'); 5 //跳转没有历史记录 6 location.reload();//两秒后重载网页(刷新) 7 },2000)
- 检测浏览器上的插件
1 console.log(navigator.plugins);//查看浏览器里安装了的所有插件 2 3 function hasPlugin(name){ 4 //如果有插件 返回true 反之亦然 5 name = name.toLowerCase();//转成小写方便比较 6 for(var i = 0;i < navigator.plugins.length;i++){ 7 if(navigator.plugins[i].name.toLowerCase().indexOf(name) > -1){ 8 //循环取出来的第i 个插件的名字的小写,然后找出名字的索引,大于-1 表示存在 9 return true; 10 }else{ 11 return false; 12 } 13 } 14 } 15 alert(hasPlugin('asdas'));//false,没有这个插件 16 alert(hasPlugin('Chromium PDF Viewer'));//true 有这个插件
- history对象
1 var count = 0; 2 setTimeout(function(){ 3 count++; 4 console.log(count); // 计算次数 5 history.go(0);//刷新 6 history.go(1);//正数前进 7 history.go(-2);//负数后退 8 },2000)//两秒 刷新/前进/后退