深入学习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 相关文章推荐
JavaScript Timer实现代码
Feb 17 Javascript
利用js 进行输入框自动匹配字符的小例子
Jun 29 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
Mar 31 Javascript
Bootstrap每天必学之下拉菜单
Nov 25 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
Mar 30 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 Javascript
Vue中fragment.js使用方法详解
Mar 09 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 Javascript
小程序组件之仿微信通讯录的实现代码
Sep 12 Javascript
apicloud拉起小程序并传递参数的方法示例
Nov 21 Javascript
js利用递归与promise 按顺序请求数据的方法
Aug 30 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 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图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
php基础教程 php内置函数实例教程
2012/08/21 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
深入探究Django中的Session与Cookie
2017/07/30 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
numpy.array 操作使用简单总结
2019/11/08 Python
wxpython绘制音频效果
2019/11/18 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
浅谈python 类方法/静态方法
2020/09/18 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
HTML5 weui使用笔记
2019/11/21 HTML / CSS
办护照工作证明范本
2014/01/14 职场文书
三年大学自我鉴定
2014/01/16 职场文书
献爱心倡议书
2014/04/14 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
个人学习总结范文
2015/02/15 职场文书
MySQL数据库之存储过程 procedure
2022/06/16 MySQL