深入学习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 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
关于javaScript注册click事件传递参数的不成功问题
Jul 18 Javascript
js实现可得到不同颜色值的颜色选择器实例
Feb 28 Javascript
jQuery实现日期联动效果实例
Jul 26 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
Nov 02 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
Jun 09 Javascript
JQuery.dataTables表格插件添加跳转到指定页
Jun 09 jQuery
jquery获取链接地址和跳转详解(推荐)
Aug 15 jQuery
animate.css在vue项目中的使用教程
Aug 05 Javascript
mockjs+vue页面直接展示数据的方法
Dec 19 Javascript
Vue-Element-Admin集成自己的接口实现登录跳转
Jun 23 Vue.js
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
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
永不消失的title提示代码
2007/02/15 Javascript
jquery tools之tooltip
2009/07/25 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
ES6使用export和import实现模块化的方法
2018/09/10 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
微信小程序日历效果
2018/12/29 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python下使用Psyco模块优化运行速度
2015/04/05 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
介绍一下代理模式(Proxy)
2014/10/17 面试题
中专三年学习的个人自我评价
2013/12/12 职场文书
数控机械专业个人的自我评价
2014/01/02 职场文书
幼儿园托班开学寄语
2014/01/18 职场文书
党支部书记岗位责任制
2014/02/11 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
食品流通安全承诺书
2014/05/22 职场文书
个人校本研修方案
2014/05/26 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
个人年终总结怎么写
2015/03/09 职场文书
Mysql 文件配置解析介绍
2022/05/06 MySQL