BOM的介紹javascript
JavaScript基礎分爲三個部分:html
ECMAScript:JavaScript的語法標準。包括變量、表達式、運算符、函數、if語句、for語句等。java
DOM:文檔對象模型,操做網頁上的元素的API。好比讓盒子移動、變色、輪播圖等。linux
BOM:瀏覽器對象模型,操做瀏覽器部分功能的API。好比讓瀏覽器自動滾動。瀏覽器
什麼是BOM框架
BOM:Browser Object Model,瀏覽器對象模型。函數
BOM的結構圖:url
從上圖也能夠看出:spa
window對象是BOM的頂層(核心)對象,全部對象都是經過它延伸出來的,也能夠稱爲window的子對象。code
DOM是BOM的一部分。
window對象:
window對象是JavaScript中的頂級對象。
全局變量、自定義函數也是window對象的屬性和方法。
window對象下的屬性和方法調用時,能夠省略window。
下面講一下 BOM 的常見內置方法和內置對象
好比說,alert(1)
是window.alert(1)
的簡寫,由於它是window的子方法。
系統對話框有三種:
alert(); //不一樣瀏覽器中的外觀是不同的 confirm(); //兼容很差 prompt(); //不推薦使用
一、打開窗口:
window.open(url,target)
參數解釋:
url:要打開的地址。
target:新窗口的位置。能夠是:_blank
、_self
、 _parent
父框架。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--行間的js中的open() window不能省略--> <button onclick="window.open('https://www.luffycity.com/')">路飛學城</button> <button>打開百度</button> <button onclick="window.close()">關閉</button> <button>關閉</button> </body> <script type="text/javascript"> var oBtn = document.getElementsByTagName('button')[1]; var closeBtn = document.getElementsByTagName('button')[3]; oBtn.onclick = function(){ //open('https://www.baidu.com') //打開空白頁面 open('about:blank',"_self") } closeBtn.onclick = function(){ if(confirm("是否關閉?")){ close(); } } </script> </html>
window.location
能夠簡寫成location。location至關於瀏覽器地址欄,能夠將url解析成獨立的片斷。
href:跳轉
hash 返回url中#後面的內容,包含#
host 主機名,包括端口
hostname 主機名
pathname url中的路徑部分
protocol 協議 通常是http、https
search 查詢字符串
location.href 屬性舉例:
舉例1:點擊盒子時,進行跳轉。
<body> <div>smyhvae</div> <script> var div = document.getElementsByTagName("div")[0]; div.onclick = function () { location.href = "http://www.baidu.com"; //點擊div時,跳轉到指定連接 // window.open("http://www.baidu.com","_blank"); //方式二 } </script> </body>
舉例2:5秒後自動跳轉到百度。
有時候,當咱們訪問一個不存在的網頁時,會提示5秒後自動跳轉到指定頁面,此時就能夠用到location。舉例:
<script> setTimeout(function () { location.href = "http://www.baidu.com"; }, 5000); </script>
location.reload():從新加載
setTimeout(function(){ //3秒以後讓網頁整個刷新 window.location.reload(); },3000)
window.navigator 的一些屬性能夠獲取客戶端的一些信息。
userAgent:系統,瀏覽器)
platform:瀏覽器支持的系統,win/mac/linux
例子:
console.log(navigator.userAgent);
console.log(navigator.platform);
一、後退:
history.back()
history.go(-1):0是刷新
二、前進:
history.forward()
history.go(1)
用的很少。由於瀏覽器中已經自帶了這些功能的按鈕: