前端知识点回顾

BOM

2017-09-22  本文已影响0人  paulihs

窗口位置:浏览器窗口相对于屏幕的坐标值

(screenTop/screenY screenLeft/screenX)
浏览器兼容写法:

var  leftPos = ( typeof window.screenLeft == "number") ?
window.screenLeft : window.screenX;
var topPos = ( typeof window.screenTop == "number") ? 
window.screenTop : window.screenY;

窗口大小

由于各个浏览器实现之间的差异,对于innerWidth、innerHeight、outerWidth、outerHeight的定义不尽相同,所以在此我们无法确定浏览器窗口的大小,但是却可以取得页面视口的大小。

var pageWidth = window.innerWidth,
    pageHeight = window.innerHeight;

if ( typeof pageWidth != "number") {
   if (document.compatMode == "CSS1Compat"){
      pageWidth = document.documentElement.clientWidth;
      pageHeight = document.documentElement.clientHeight;
  } else {
      pageWidth = document.body.clientWidth;
      pageHeight = document.body.clientHeight;
  }
}

导航和打开窗口

window.open()
方法接收四个参数:要加载的URL、窗口目标、一个特性字符串以及一个表示新页面是否取代浏览器历史记录中当前加载页面的布尔值。

间歇调用和超时调用

setInterval()
setTimeout()
尽量使用setTimeout,使用setTimeout去模拟setInterval的效果是最佳模式。

location对象

decodeURIComponent()函数
作用:可对encodeURIComponent()编码的URI进行解码。

navigator对象

  1. 检测插件
  2. 注册处理程序
    一堆属性,但是在各个浏览器里面的支持情况不一,主要用于检测插件,在高程的8.3.1.详细介绍。

screen对象

没啥屌用

history对象

history.go(整数);

// 后退一页
history.go(-1);
// 前进一页
history.go(1);

也可以给go()方法传递一个字符串参数:

//跳转到最近的wrox.com
history.go("wrox.com");

//跳转到最近的nczo.net页面
history.go("nczo.net");

还有两种简写方法back()和forward()来代替go()。

// 后退一页
history.back();
// 前进一页
history.forward();

history对象还有一个length属性,保存着历史记录的数量。对于加载到窗口、标签页和框架中的第一个页面而言,history.length等于0。通过下面这样测试该属性的值,可以确定是否一开始就打开了你的页面。

if(history.length == 0) {
  // 这应该是用户打开窗口后的第一个页面
}
上一篇 下一篇

猜你喜欢

热点阅读