深入学习JavaScript中的bom


Posted in Javascript onMay 27, 2019

BOM(Broswer Object Model)

凡是 window 的属性和方法,均可以省略“window.”

方法:

框窗

1.警告框

window.alert("msg");

2.确认框

window.confirm("msg");

3.询问框

window.prompt("msg","defaulvalue")

页面

1.打开一个窗口

window.open()

2.在子窗口中使用,表示父窗口的window对象

window.opener

window.opener.fatherSayHello(); 调用父窗口的方法
window.opener.a

3.关闭当前窗口

window.close()

window.close(); 关闭当前
window.opener.close(); 关闭父窗口

定时任务

1.定时任务

var taskid = window.setTimeout(function,ms);
window.setTimeout("alert('hello!')", 5000);

2.间隔执行任务

var taskid = window.setInteval(function,ms);

3.清除定时任务

window.clearTimeout(taskid);

4.清除间隔执行任务

window.clearInteval(taskid);

打印屏幕

//长*宽
console.log(screen.width + "*" + screen.height)

后退

window.history.back();

前进

window.history.forward();

刷新

window.location.reload();//刷新
window.location.href = window.location.href;//刷新

Go 前进(x)步,后退(x)步,刷新(0),

window.history.go(x)

链接

window.location.href = http://www.baidu.com;

用户代理 浏览器内核

console.log(window.navigator.userAgent)

框窗

//凡是window的属性和方法,均可以省略“window.”
<script type="application/javascript">
// 警告框
function testAlert(){
var result=window.alert("这是一个警告框")
console.log(result);
}
// confirm 确认框
function testConfirm(){
var result =window.confirm("你确认要离开了吗?");
if(result){
alert("欢迎下次再来!")
}else{
alert("那你在逛逛吧!")
}
consol.log(result);
}
// prompt 询问框
function testPrompt(){
var result = window.prompt("请输入U盾密码","例如:123456");
console.log(result);
}
</script>
<body>
<button onclick="testAlert();">testAlert</button>
<button onclick="testConfirm();">testConfirm</button>
<button onclick="testPrompt();">testPrompt</button>
</body>

页面

//子页面
<script type="application/javascript">
function sayHello(){
alert("hello world")
}
//打开一个窗口
function callFatherMethod(){
window.opener.fatherSayHello();
window.opener.a
}
//关闭本窗口
function testClose(){
window.close();
}
//关闭父窗口
function testFatherClose(){
window.opener.close();
}
</script>
<body>
<button onclick="callFatherMethod()">调用父窗口的方法</button>
<button onclick="testClose()">关闭本窗口</button>
<button onclick="testFatherClose()">关闭父窗口</button>
</body>
//父页面
<script type="application/javascript">
var a = 10;
window.onload = function(){
console.log(window);
console.log("11111111111")
}
//打开一个新窗口
function testOpen(){
var sonwindow = window.open("son.html","aaa","height=300,width=500,top=50,left=50,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no")
//子窗口的window对象
console.log(sonwindow);
}
function fatherSayHello(){
alert("hello son!");
}
</script>
<body>
<button onclick="testOpen();">打开一个新窗口</button>
</body>

定时任务

<script type="application/javascript">
function setTime() {
// window.setTimeout("alert('hello!')",5000);
window.setTimeout(sayHello, 5000);
}
var sayHello = function () {
alert("你好!");
}
</script>
</head>
<body>
<button onclick="sayHello();">调用sayHello</button>
<button onclick="setTime();">调用setTime</button>

间隔执行任务

<script type="application/javascript">
/*
window.onload = function(){
window.setTimeout(closeSelf, 1000);
}
function closeSelf() {
var secval = document.getElementById("sec").innerHTML;
var secint = parseInt(secval);
document.getElementById("sec").innerHTML = --secint;
if(secint == 0){
window.close();
}
window.setTimeout(closeSelf, 1000);
}
*/

var taskid = 0;
window.onload = function(){
//间隔执行任务,间隔 1000ms 执行一次
taskid = window.setInterval(closeSelf, 1000);
}
function closeSelf() {
//获取 10s 
var secval = document.getElementById("sec").innerHTML;
console.log(secval);
var secint = parseInt(secval);
console.log(secint);
//10s 减减
document.getElementById("sec").innerHTML = --secint;
if(secint == 0){
window.close();
}
}
// 4.清除间隔执行任务 暂停
function stopTask(){
window.clearInterval(taskid);
}
//继续计时
function goonTask(){
taskid = window.setInterval(closeSelf, 1000);
console.log(taskid)
}
</script>
<body>
付款成功,页面将在<span id="sec">10</span>s后关闭。
<button onclick="stopTask()">稍等,待会我会自己关闭</button>
<button onclick="goonTask()">继续读秒,关闭窗口</button>
</body>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE6不能修改NAME问题的解决方法
Sep 03 Javascript
为jQuery.Treeview添加右键菜单的实现代码
Oct 22 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
JavaScript获取ul中li个数的方法
Feb 13 Javascript
微信禁止下拉查看URL的处理方法
Sep 28 Javascript
vue双花括号的使用方法 附练习题
Nov 07 Javascript
简述vue中的config配置
Jan 23 Javascript
Node.js log4js日志管理详解
Jul 31 Javascript
Vue+Django项目部署详解
May 30 Javascript
微信小程序吸底区域适配iPhoneX的实现
Apr 09 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 Javascript
Vue实现根据hash高亮选项卡
May 27 #Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
May 27 #Javascript
Vue使用localStorage存储数据的方法
May 27 #Javascript
了解javascript中的Dom操作
May 27 #Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
May 27 #Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 #Javascript
深入浅出了解Node.js Streams
May 27 #Javascript
You might like
Syphon 使用方法
2021/03/03 冲泡冲煮
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
python脚本实现验证码识别
2018/06/07 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
预备党员表决心书
2014/03/11 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
个人批评与自我批评
2014/10/15 职场文书
师德师风个人整改措施
2014/10/27 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
2014年环保局工作总结
2014/12/11 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
python标准库ElementTree处理xml
2022/05/20 Python