温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript BOM知识点有哪些

发布时间:2021-11-26 16:06:01 来源:亿速云 阅读:130 作者:iii 栏目:开发技术

本篇内容主要讲解“JavaScript BOM知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript BOM知识点有哪些”吧!

1、BOM 简介

  所谓的 BOM 即浏览器对象模型(Browser Object Model)。BOM 赋予了 JS 操作浏览器的能力,即 window 操作。DOM 则用于创建删除节点,操作 HTML 文档。BOM 尚无正式的标准,导致各浏览器对于 BOM 方法的支持各有不同,因此需要具体问题具体对待。


2、window 对象

  window 对象是 BOM 的核心,window 对象指当前的浏览器窗口。所有 JS 全局对象、函数以及变量都属于 window 对象。全局变量是 window 对象的属性。全局函数是 window 对象的方法。甚至 DOM 的 document 也属于 window 对象的属性之一,只是大多数情况下可以忽略不写。
 

  window 对象方法:

方法描述
alert()弹出带有文本消息和一个确认按钮的警告框
prompt()弹出可提示用户输入的对话框
confirm()弹出带有文本消息及确认按钮和取消按钮的对话框
open()打开一个新的浏览器窗口    
close()关闭浏览器窗口
print()打印当前窗口的内容
focus()把键盘焦点给予一个窗口
blur()把键盘焦点从顶层窗口移开
moveBy(xnum, ynum)相对窗口的当前坐标将对象移动指定的像素
moveTo(x, y)把窗口的左上角移动到一个指定的坐标
resizeBy(w, h)按照指定的像素调整窗口的大小
resizeTo(w, h)将窗口的大小调整到指定的宽度和高度
scrollBy(xnum, ynum)按照指定的像素值来滚动内容
scrollTo(x, y)将内容滚动到指定的坐标
setInterval()每隔指定的时间执行代码
setTimeout()在指定的延迟时间之后来执行代码
clearInterval()取消 setInterval() 的设置
clearTimeout()取消 setTimeout() 的设置


3、窗口操作

(1)、打开窗口

  open() 方法可用于打开新窗口。

  语法:window.open(url, name/target, 窗口设置, replace)

  该方法的三个参数都是可选的,默认在新页面打开一个空白页。第一个参数可设置要打开窗口的路径。第二个参数规定在何处打开新窗口,也可用于指定窗口的名称。第三个参数设置窗口参数,多个参数可用逗号分隔。如果有第一个参数,后面两个参数可省略,则在新页面打开。第二个参数一般无需设置,如果要规定窗口的参数,则必须有第二个参数,必须为 '_blank',或者用 '', 代替,并且距离屏幕顶部不能为 0,否则失效,如果设置了左边距离,顶部可设置为 0。最后一个参数规定加载到窗口的 URL 是在窗口的浏览历史中创建一个条目,还是替换浏览器历史中的当前条目,值为 true 或 false, 值为 true 时 URL 替换浏览历史中的当前条目,为 false 时 URL 在浏览历史中创建新的条目。
 

  下表是一些常用的窗口设置参数:

参数

说明

top

Num

新窗口距屏幕顶部的距离

left

Num

新窗口距屏幕左端的距离

width

Num

新窗口的宽度

height

Num

新窗口的高度

menubar

yes/no/1/0

窗口是否有菜单栏,默认是yes

scrollbars

yes/no/1/0

窗口是否有滚动条,默认是yes

toolbar

yes/no/1/0

窗口是否有工具栏,默认是yes

status

yes/no/1/0

窗口是否有状态栏,默认是yes

location

yes/no/1/0

窗口是否显示地址栏,默认是yes

resizable

yes/no/1/0

是否允许改变窗口大小,默认是yes

directories

yes/no/1/0

是否添加目录按钮,默认是yes

  实例A:点击按钮,在新窗口打开上海尚学堂首页,宽 600,高 400,距屏顶 0 像素,屏左 10 像素。

<script>

<script>

function printpage(){

    window.print();

}

</script>
 

<script>

function printpage(){

    window.print();

}

</script>
 


 

(3)、关闭窗口

  window.close() 方法可用于关闭当前窗口。

 
 
//点击按钮关闭当前窗口
 <input type="button" value="关闭窗口">

该方法在 Chrome 下运行正常。IE 下弹窗提示:你查看的网页正在试图关闭选项卡,是否关闭选项卡?点击否,不关闭,点击是,关闭窗口。在 FF 下会报错,因为在 FF 下不允许脚本关闭非脚本打开的窗口,也就是不能关闭一个用户自己打开的窗口,只能关闭由 open 打开的窗口。所以可以先用 open 打开,再关闭,这样就能解决 FF 下不能关闭的问题。这就需要创建两个文档来演示该问题:第二个文档使用上面实例保存为 close.html,第一个文档如下:

 
 
//先用open打开保存的文档,然后再点击关闭窗口按钮,效果就达到了
 <input type="button" value="打开窗口">

 FF 浏览器的安全机制比较高,不能关闭用户打开的窗口,在网上也没找有找到什么好的办法,只能修改浏览器的默认配置,显然这是不可取的。上面的办法比较笨,另辟蹊跷不能关闭用户打开的,那就自己 open 一个再 close,但这还是比较实在的方法,至少目的是达到了。

  在 IE 下可使用下面的代码关闭当前窗口,不弹窗提示。同时也适用于 Chrome。这里使用 a 标签在 FF 下可以看到报错,使用按钮则没有报错信息。

 
<a href="javascript:window.opener=null;window.open('', '_self');window.close();">关闭a>

实例G:关闭新打开的窗口

 
 
<body>
<input type="button" value="打开">
<input type="button" value="关闭">
<script>
function openWin(){
    newWin = window.open('http://www.shsxt.com/',  '', 'width=400,height=300,top=200');
}
function closeWin(){
    newWin.close();
}
script>
body>

实例H:检查新窗口是否已关闭

 
 
<body>
<input type="button" value="打开'">
<input type="button" value="关闭">
<input type="button" value="是否关闭">
<p id="p1">p>
<script>
var newWin;
function openWin(){
    newWin = window.open('', '', 'width=400,height=300,top=200');
}
 
function closeWin(){
    if(newWin){
        newWin.close();
    }
}
 
var oP = document.getElementById('p1');
function checkWin(){
    if(!newWin){
        oP.innerHTML = '新窗口还没被打开!';
    }
    else{
        if(newWin.closed){
            oP.innerHTML = '新窗口已关闭!';
        }
        else{
            oP.innerHTML = '新窗口未关闭!';
        }
    }   
}
script>
body>

4、浏览器信息

  window.navigator 对象获取包含有关访问者浏览器的信息。该属性在使用时可以不加 window 前缀。

 
 
<body>[/font][/color][/align][align=left][color=rgb(0, 0, 0)][font="]
<div id="div1">div>
<script>
txt = '<p>Browser CodeName(浏览器代码名称): ' + navigator.appCodeName + 'p>';
txt+= '<p>Browser Name(浏览器名称): ' + navigator.appName + 'p>';
txt+= '<p>Browser Version(浏览器版本): ' + navigator.appVersion + 'p>';
txt+= '<p>Cookies Enabled(启用Cookies): ' + navigator.cookieEnabled + 'p>';
txt+= '<p>Platform(操作平台): ' + navigator.platform + 'p>';
txt+= '<p>User-agent header(由客户机发送服务器的 user-agent 头部信息): ' + navigator.userAgent + 'p>';
txt+= '<p>User-agent language(客户机代理语言): ' + navigator.systemLanguage + 'p>';
 
document.getElementById('div1').innerHTML=txt;
script>
body>

 其中最常用的属性是 navigator.userAgent,返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符

 
 
<script>
 document.write(navigator.userAgent);
 script>

到此,相信大家对“JavaScript BOM知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI