深入学习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实现层随着内容大小动态渐变改变 推荐
Dec 19 Javascript
jquery中ajax调用json数据的使用说明
Mar 17 Javascript
详解JS 比较两个Json对象的值是否相等的实例
Nov 20 Javascript
jQuery 滑动方法slideDown向下滑动元素
Jan 16 Javascript
js时间比较示例分享(日期比较)
Mar 05 Javascript
jquery中获取元素里某一特定子元素的代码
Dec 02 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
Nov 24 Javascript
JavaScript中rem布局在react中的应用
Dec 09 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
详解vue引入子组件方法
Feb 12 Javascript
ES6基础之默认参数值
Feb 21 Javascript
vue 实现v-for循环回来的数据动态绑定id
Nov 07 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 批量更新网页内容实现代码
2010/01/05 PHP
php读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
javascript add event remove event
2008/04/07 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
Python3基础之输入和输出实例分析
2014/08/18 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
简单了解python PEP的一些知识
2019/07/13 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Madda Fella官网:美国冒险家服装品牌
2020/01/16 全球购物
小学远程教育工作总结
2015/08/13 职场文书
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python