BOM(browser Object Model)即浏览器对象模型提供了独立于内容而与浏览器窗口进行交互的对象。由于 BOM 主要用于管理窗口与窗口之间的通讯,因此其核心对象是 window。
相关方法(属性)d出框
window.alert()
URL 的属性// 当前 HTML 的 URLlocation.href// https://www.baIDu.com/lastpath/go?name=zhangshan&ID=89785#index// 查询字符串部分location.search// ?name=zhangshan&ID=89785// #号后面的值location.hash// #index// 域名location.host// www.baIDu.com// 主域名location.hostname// baIDu.com// 主域名后面部分/路径location.pathname// lastpath/go// 端口号location.port// 80(默认端口号)// 协议部分location.protocal// https:// 加载指定的URLlocation.assign()// 替换指定的URL,不同于assgin,无法返回location.replace()// 刷新location.reload()
history 对象// 前进或者后退指定的页面数// 正为前进,负为后退history.go()// 后退一页history.back()// 前进一夜history.forward()
Navigator 对象// 返回用户代理头的字符串navigator.userAgent// "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/76.0.3809.132 Safari/537.36"// 返回是否可以支持cookienavigator.cookieEnabled// 返回浏览器名称navigator.appname // Chrome,IE// 返回浏览器内核navigator.appCodename // Mozilla
size// 浏览器的窗口高度window.innerHeight// 浏览器的窗口宽度window.innerWIDth
注意: 浏览器窗口的视图不包括工具栏和滚动条 也就是说,在全屏状态下,不同浏览器因为不同的浏览器布局(工具栏、收藏栏、搜索栏)导致不同的innerHeight和innerWIDth
@H_419_122@open
window.open(url,target,specs,replace)
url 要打开窗口的路径target 打开方法
_blank 在新窗口打开,默认为_blank_self 在原窗口打开,替代原窗口_parent 在父框架中打开name 指定在某个窗口打开specs 规定新窗口的样式(用,连接)
wIDth=pixelsheight=pixelsreplace 是否在history列表中替代当前页面window.open('https://www.baIDu.com', '_self', 'wIDth=1920,height=1080')
计时事件
window.setTimeout(fn,ms)window.setInterval(fn,ms)
东莞vi设计https://www.houdianzi.com/dgvi/ 豌豆资源网站大全https://55wd.com
cookiescookies 用来在页面储存用户信息什么是 cookies
在服务器将页面发送给浏览器后,服务器与浏览器之间的连接就断开了,因为 http 协议是无状态的,此时,服务器就不会记得关于用户的任何信息。
cookie 就可以来记住用户信息:
当用户访问页面是,他的名字就被储存到 cookie 中。当他下次访问页面时,cookie 就会记得她的名字储存方式name = Kisn
当浏览器向服务器发送网页请求时,对应这个页面的 cookies 就被加入到了请求中,这样的服务器就能获取到辨认这个用户的所需的信息。
*** 作 cookies 的方法JavaScript 可以用个document.cookie属性来穿件、读取和删除 cookies
// 创建function setcookie(name,val,time) { var exp = new Date() exp.setTime(exp.getTime() + time) document.cookie = name + '=' + val + ';expires=' + exp.toGMTString()}// 读取function getcookie(name) { let reg = new RegExp('(^| )' + name + '=([^;]*(;|$))') if ((res = document.cookie.match(reg))) { return unescape(res[2]) } else { return false }}// 删除function delcookie(name) { let exp = new Date() exp.setTime = exp.getTime() - 1 let cval = getcookie(name) if (cval != null) { document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString() }}
cookie 和 Session 的区别http 是一种无状态协议,因此 cookie 的最大的作用是储存 sessionID 用辨识用户
cookie、sessionStorage、localstorage 的区别共同点
都是保存在浏览器端,并且是同源的不同点
cookie:
储存大小:4KB参与服务器通信只要是同源的 http 请求中,都会存在 cookie,即 cookie 在浏览器和服务器之间来回传递,而且有实效(expires)。cookie 有路径的概念,我们可以限制 cookie 只属于某个路径下sessionStorage:
储存大小:5M不参与服务器通信仅在当前浏览器窗口(该进程)会话期间有效,数据不是服务器请求储存的,而且只有在请求时使用数据。localstorage:
储存大小:5M不参与服务器通信在同源窗口可以共享,但是除非数据被清除,否则会一直存在。数据不是服务器请求储存的,而且只有在请求时使用数据。cookie 如何防范 XSS 攻击XSS 是什么?XSS 全称 跨站脚本攻击,我们可以理解为:通过某种方法向 web 页面注入代码,同时浏览器可以被执行这段代码。
比如简单的论坛回复,可以插入部分 HTML、CSS、Js,可以获取我们的 cookie
我们可以在 http 头部配置,来防御 XSS 获取 cookie。
set-cookie: httponly // 禁止Js脚本来访问cookieset-cookie: secure // 仅在请求为https的时候发送cookie
screenscreen.wIDth 显示器的宽度screen.height 显示器的高度screen.availWIDth 屏幕的可用宽度screen.availHeight 屏幕的可用高度 总结 以上是内存溢出为你收集整理的什么是浏览器对象BOM?全部内容,希望文章能够帮你解决什么是浏览器对象BOM?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)