JsBom

BOM:浏览器对象模型 BOM大部分都是对window对象的操作

window.open

window.open(页面的地址URL,打开的方式)
  • 如果URL默认为空,则默认打开一个新的空白页
  • 如果打开方式为空,则默认为新窗口方式
  • open()方法的返回值: 返回新打开的窗口window对象

window.close

关闭窗口(有兼容性问题)
1 firefox 默认无法关闭
2 chorme 默认直接关闭
3 ie 询问用户
4 可以在关闭本窗口中通过JS方法打开新的窗口




对应下面的代码

    var inputall = document.getElementsByTagName("input");
    var newPage = null;
    inputall[0].onclick = function(){
         newPage = window.open("","_blank");
        newPage.document.body.style.background = "red";    //不会起作用。除非不是网址而是空白页的。
    }
    inputall[2].onclick = function(){
        newPage.close();  //新开的
    }

window.navigator.userAgent

window.navigator.userAgent ==浏览器信息
可以通过这个属性判断浏览器信息

   var string = window.navigator.userAgent;
    var word = string.toLowerCase();
     window.alert(word);
    if(word.indexOf("msie")==-1)
    {
        window.alert("找不到")
    }

window.location

window.location 浏览器地址栏信息
window.location 看似一串字符串,其实一个对象

  • window.location.href :地址栏的地址url
  • window.location.search 这个是url?后面的内容
  • window.location.hash: 表示url#后面的内容

文档宽高及窗口事件

可视区尺寸,没有border

元素.clientWidth
元素.clientHeight
要是获取到整个浏览器的宽度和高度只有
document.documentElement.clientHeight
或者document.body.clientHeight;

滚动距离

元素.scrollTop/scrollLeft
指的是滚动条距离顶部或者左边的距离
document.body.scrollTop
document.documentElement.scrollTop
元素.scrollHeight指的是整个里面的高度

兼容性问题

  • chorme浏览器认为滚动距离是在body上面
  • 其他浏览器认为滚动距离是在documentElement
    建议用下面的方法
var scrollTop = document.documentElement.scrollTop||document.body.scrollTop

onscroll

var i = 0 ;
window.onscroll = function(){
 document.title = i++;
}

onresize

onresize:当窗口大小发生改变的时候触发

var  i = 0 ;
window.onresize = function(){
  document.title = i++;
}

你可能感兴趣的:(JsBom)