您的当前位置:首页正文

第8章 BOM

2024-11-08 来源:个人技术集锦

BOM:全称Broser Object Model 浏览器模型
EMScript是js的核心,浏览器要能够使用js,bom就是核心

1.window对象

全局对象

  • var声明的变量,通过delete操作符不能删除
  • window定义的变量,可以通过delete操作符删除

窗口关系及框架
窗口位置

  • screenLeft screenTop 窗口距离屏幕左边的距离(支持的浏览器 IE chorme Safair Opera)
  • screenX screenY(支持浏览器Firfox)
var left=(typeof window.screenLeft==="number"?window.screenLeft: window.screenX)
  • window.moveTo(100,100) 窗口 移动到100 100的坐标位置
  • window.moveBy(100,0)窗口向右移动100px

窗口大小
innerHeight innrWidth outerWidth outerHeight
window.resizeTo(200,200)浏览器窗口变为200 200
window.resizeBy(150,100) 浏览器窗口为350 300
系统对话框
样式由操作系统和浏览器设置决定,同步执行,当执行系统对话框代码会停止执行,
alert()
confirm()返回true表示点击了ok , false点击了cancel或x
prompt(提示给用户的值,文本框默认的值) 返回的是用户的输入的文本值

2.location对象

提供了当前窗口加载的文档信息 和一些导航信息
location对象是window对象的属性 也是document对象的属性

属性

 *hash*       #content              返回url中#后面的字符
 host         www.wrox.com:80       返回服务器名称和端口号
 hostname     www.wrox.com          返回服务器名称
 href        http://www.wrox.com    返回当前加载的页面
 pathbname   "/wileyCDA/"           返回url中的目录和文件名
 port        8080                   返回url端口号
 protocol    http                   返回页面使用的协议
 search     ?q=javascript           返回url中查询字符串

查询字符串参数

 function  jiexisearch(){
        var args={}
        var  str=location.search;
        var newstr= str.substring(1);
        var newarr=newstr.split("&");
        for(var i=0;i<newarr.length;i++)
        {
            var name=newarr[i].split("=")[0];
            var value=newarr[i].split("=")[1];
            if(name.length)
            {
                args[name]=value
            }
        }
        return args;
    }
 

位置操作

  • locaction.assign(“http://www.wrox.com”) 打开新网址,并会在浏览器中生成记录
  • location.href() 最常用
  • window.location()显示调用assin()和上面的情况一样
  • 改变location对象的hash search hostname pathname port 属性(除过hash,其他的方式都会以新的url加载)

通过上述方式产生的url会在浏览器中产生一条记录,可以通过点击回退返回前一个页面

  • 如果想要禁止回退的行为 可以使用 locotion.replace()
    location.reload() 重新加载页面,如果不传递参数,页面没有发生改变,则从缓存中拿去,如果传递true,则去服务器请求数据

3.navigator对象 用来识别浏览器

4.history对象

  • history对象:保存着用户上网的历史记录
  • 是window对象 开发人员无法得知用户浏览的的url,借用用户访问过的页面列表,可以实现页面的前进和后退功能;
  • history.go(1)
  • history.go(“wrox.com”) 看哪个位置近,跳转哪个页面
  • history.back()后退一页
  • history.forward() 前进一页
  • history.length 保存历史记录数量
 if(history.length==0{
      用户打开窗口的第一个页面
 }
  
Top