深入学习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 相关文章推荐
js 浮动层菜单收藏
Jan 16 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
Sep 28 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
Oct 22 Javascript
jquery操作checked属性以及disabled属性的多种方法
Jun 20 Javascript
JS代码防止SQL注入的方法(超简单)
Apr 12 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
js获取地址栏参数的两种方法
Jun 27 Javascript
vue删除html内容的标签样式实例
Sep 13 Javascript
vue更改数组中的值实例代码详解
Feb 07 Javascript
el-table树形表格表单验证(列表生成序号)
May 31 Javascript
vue element ui validate 主动触发错误提示操作
Sep 21 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
探讨php中header的用法详解
2013/06/07 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
web 页面分页打印的实现
2009/06/22 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
python装饰器decorator介绍
2014/11/21 Python
python读写二进制文件的方法
2015/05/09 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
医大实习自我鉴定
2013/12/07 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
宿舍管理制度范本
2015/08/07 职场文书
详解Redis复制原理
2021/06/04 Redis