深入學(xué)習(xí)JavaScript中的bom
BOM(Broswer Object Model)
凡是 window 的屬性和方法,均可以省略“window.”
方法:
框窗
1.警告框
window.alert("msg");
2.確認(rèn)框
window.confirm("msg");
3.詢問框
window.prompt("msg","defaulvalue")
頁面
1.打開一個(gè)窗口
window.open()
2.在子窗口中使用,表示父窗口的window對(duì)象
window.opener
window.opener.fatherSayHello(); 調(diào)用父窗口的方法 window.opener.a
3.關(guān)閉當(dāng)前窗口
window.close()
window.close(); 關(guān)閉當(dāng)前 window.opener.close(); 關(guān)閉父窗口
定時(shí)任務(wù)
1.定時(shí)任務(wù)
var taskid = window.setTimeout(function,ms); window.setTimeout("alert('hello!')", 5000);
2.間隔執(zhí)行任務(wù)
var taskid = window.setInteval(function,ms);
3.清除定時(shí)任務(wù)
window.clearTimeout(taskid);
4.清除間隔執(zhí)行任務(wù)
window.clearInteval(taskid);
打印屏幕
//長*寬 console.log(screen.width + "*" + screen.height)
后退
window.history.back();
前進(jìn)
window.history.forward();
刷新
window.location.reload();//刷新 window.location.href = window.location.href;//刷新
Go 前進(jìn)(x)步,后退(x)步,刷新(0),
window.history.go(x)
鏈接
window.location.href = http://www.baidu.com;
用戶代理 瀏覽器內(nèi)核
console.log(window.navigator.userAgent)
框窗
//凡是window的屬性和方法,均可以省略“window.” <script type="application/javascript"> // 警告框 function testAlert(){ var result=window.alert("這是一個(gè)警告框") console.log(result); } // confirm 確認(rèn)框 function testConfirm(){ var result =window.confirm("你確認(rèn)要離開了嗎?"); if(result){ alert("歡迎下次再來!") }else{ alert("那你在逛逛吧!") } consol.log(result); } // prompt 詢問框 function testPrompt(){ var result = window.prompt("請(qǐng)輸入U(xiǎn)盾密碼","例如: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") } //打開一個(gè)窗口 function callFatherMethod(){ window.opener.fatherSayHello(); window.opener.a } //關(guān)閉本窗口 function testClose(){ window.close(); } //關(guān)閉父窗口 function testFatherClose(){ window.opener.close(); } </script> <body> <button onclick="callFatherMethod()">調(diào)用父窗口的方法</button> <button onclick="testClose()">關(guān)閉本窗口</button> <button onclick="testFatherClose()">關(guān)閉父窗口</button> </body> //父頁面 <script type="application/javascript"> var a = 10; window.onload = function(){ console.log(window); console.log("11111111111") } //打開一個(gè)新窗口 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對(duì)象 console.log(sonwindow); } function fatherSayHello(){ alert("hello son!"); } </script> <body> <button onclick="testOpen();">打開一個(gè)新窗口</button> </body>
定時(shí)任務(wù)
<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();">調(diào)用sayHello</button> <button onclick="setTime();">調(diào)用setTime</button>
間隔執(zhí)行任務(wù)
<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(){ //間隔執(zhí)行任務(wù),間隔 1000ms 執(zhí)行一次 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.清除間隔執(zhí)行任務(wù) 暫停 function stopTask(){ window.clearInterval(taskid); } //繼續(xù)計(jì)時(shí) function goonTask(){ taskid = window.setInterval(closeSelf, 1000); console.log(taskid) } </script> <body> 付款成功,頁面將在<span id="sec">10</span>s后關(guān)閉。 <button onclick="stopTask()">稍等,待會(huì)我會(huì)自己關(guān)閉</button> <button onclick="goonTask()">繼續(xù)讀秒,關(guān)閉窗口</button> </body>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript單引號(hào)和雙引號(hào)的區(qū)別和處理
這篇文章主要介紹了javascript單引號(hào)和雙引號(hào)的區(qū)別和處理,希望對(duì)大家有所幫助2014-05-05Javascript全局變量var與不var的區(qū)別深入解析
這篇文章主要介紹了Javascript全局變量var與不var的區(qū)別。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12Javascript入門學(xué)習(xí)第五篇 js函數(shù)
上篇文章講了js中對(duì)象和數(shù)組的一些方法。 這章我們先說說函數(shù),然后來點(diǎn)實(shí)戰(zhàn)。2008-07-07javascript prototype原型詳解(比較基礎(chǔ))
prototype原型是javascript中特別重要的概念,屬于必須要掌握,如果沒有良好的掌握的話,進(jìn)一步用好或者學(xué)好js基本是不可能的實(shí)現(xiàn)的事情,并且此概念稍有難度,可能對(duì)于初次接觸的朋友來說有點(diǎn)困難,下面就通過代碼實(shí)例簡單介紹一下prototype原型的用法2016-12-12詳談DOM簡介及節(jié)點(diǎn)、屬性、查找節(jié)點(diǎn)的方法
下面小編就為大家分享一篇詳談DOM簡介及節(jié)點(diǎn)、屬性、查找節(jié)點(diǎn)的方法,具有非常好的參考價(jià)值,一起跟隨小編過來看看吧,希望對(duì)大家有所幫助2017-11-11JavaScript 學(xué)習(xí)筆記(九)call和apply方法
兩者實(shí)現(xiàn)的功能是完全一樣的,只是參數(shù)傳遞方式不一樣,call是將各個(gè)參數(shù)以逗號(hào)(,)隔開,而apply是將所有參數(shù)組成一個(gè)數(shù)組進(jìn)行傳遞。2010-01-01