JavaScript BOM

1.BOM: Browser Object Model

2.所有浏览器都支持 window对象,所有JavaScript的全局对象、函数和变量自动成为window对象的成员。

window.innerHeight

window.innerWidth

document.documentElement.clientHeight

document.documentElement.clientWidth

document.body.clientHeight

document.body,clientWidth

3.其他window方法:

window.open()

window.close()

window.moveTo()

window.resizeTo()

4.window.screen对象包含屏幕信息

screen.availWidth

screen.availHeight

5.window.location的一些属性

location.hostname

location.pathname

location.port(貌似有一些不会暴露端口)

location.protocol

location.href (抓取子网页的一个可用办法,console.info(location.href));

location.assign (替换网页内容的一种手法)

6.window.history

history.back() 等同于浏览器点击后退按钮

history.forward() 等同于浏览器点击向前按钮 (一种简陋重做的实现方式,不过需要配合浏览器的回退机制)

  history.back()的实质貌似是加载历史列表中的前一个URL,但从含义上理解,也就意味着如果要通过history来做回退和恢复,相关的变化数据最好是存储在url中。

7.window.navigator,包含有关访问者浏览器的信息,类似于浏览器版本以及一些配置和代理信息

  要注意的是navigator信息可以被使用者修改,以及识别存在局限,带有误导性,所以不应该被用于浏览器版本检测 (一个引发问题,如何识别浏览器~~~)

8.JavaScript三种弹窗

alert(a) ;

var answer1 = confirm(a); 

var answer2 = prompt(“text”,”default”);

9.JavaScript计时事件

window.setInterval(f,dis)     //间隔dis毫秒,执行f,然后循环

window.setTimeout(f,dis)   //延迟dis毫秒后,执行f,然后结束

有这种计时事件,就可以做简单的动画效果了

例如http://www.runoob.com/js/js-timing.html中的时钟效果,就是

画板+指针点,通过每秒计算,指针点的坐标,不断刷新,理论上就可以实现。

10.对应的clearInterval(x) 和 clearTimeout(x) 就可以结束掉执行

11.JavaScript Cookie

是单独的Cookie对象,但是获取时是以字符串获取的

12.document.cookie 访问

function setCookie(cname,cvalue,exdays{

  var d=newDate();

  d.setTime(d.getTime()+(exdays*24*60*60*1000));

  var expires="expires="+d.toGMTString();

  document.cookie=cname+"="+cvalue+"; "+expires;

}

function setCookie(cname,cvalue,exdays){

  var d=newDate();

  d.setTime(d.getTime()+(exdays*24*60*60*1000));

  var expires="expires="+d.toGMTString();

  document.cookie=cname+"="+cvalue+";"+expires;

}

你可能感兴趣的