JavaScript基礎10
JavaScript_10
JavaScript中的BOM物件
瀏覽器物件模型--Browser ObjectModel (BOM)
1.Window 物件
1.1 屬性
有三種方法能夠確定瀏覽器視窗的尺寸(瀏覽器的視口,不包括工具欄和滾動條)。
對於Internet Explorer、Chrome、Firefox、Opera 以及 Safari:
window.innerHeight - 瀏覽器視窗的內部高度
window.innerWidth - 瀏覽器視窗的內部寬度
對於 Internet Explorer 8、7、6、5:
document.documentElement.clientHeight
document.documentElement.clientWidth
或者
document.body.clientHeight
document.body.clientWidth
實用的 JavaScript 方案(涵蓋所有瀏覽器):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
window.onload=function(){
//確定瀏覽器視窗的尺寸(瀏覽器的視口,不包括工具欄和滾動條)
var w=window.innerWidth ||
document.documentElement.clientWidth ||
document.body.clientWidth;
var h=window.innerHeight ||
document.documentElement.clientHeight ||
document.body.clientHeight;
window.alert(w+"*"+h);
}
</script>
</head>
<body>
</body>
</html>
1.2 方法
1. open() 方法
用於開啟一個新的瀏覽器視窗或查詢一個已命名的視窗
格式:window.open(URL,name,features,replace)
URL | 一個可選的字串,宣告瞭要在新視窗中顯示的文件的 URL。如果省略了這個引數,或者它的值是空字串,那麼新視窗就不會顯示任何文件。 |
name | 一個可選的字串,該字串是一個由逗號分隔的特徵列表,其中包括數字、字母和下劃線,該字元宣告瞭新視窗的名稱。這個名稱可以用作標記 <a> 和 <form> 的屬性 target 的值。如果該引數指定了一個已經存在的視窗,那麼 open() 方法就不再建立一個新視窗,而只是返回對指定視窗的引用。在這種情況下,features 將被忽略。 |
features | 一個可選的字串,宣告瞭新視窗要顯示的標準瀏覽器的特徵。如果省略該引數,新視窗將具有所有標準特徵。 |
replace | 一個可選的布林值。規定了裝載到視窗的 URL 是在視窗的瀏覽歷史中建立一個新條目,還是替換瀏覽歷史中的當前條目。支援下面的值: true - URL 替換瀏覽歷史中的當前條目。 false - URL 在瀏覽歷史中建立新的條目。 |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function open_win(){
window.open("https://www.baidu.com/");
}
function open_aboutblank(){
window.open("about:blank","空白頁","width=200,height=100",false);
}
</script>
</head>
<body>
<input type=button value="Open百度" onclick="open_win()" /><br>
<input type=button value="about:blank" onclick="open_aboutblank()" />
</body>
</html>
重要事項:請不要混淆方法 Window.open() 與方法 Document.open(),這兩者的功能完全不同。為了使您的程式碼清楚明白,請使用 Window.open(),而不要使用 open()。
2. close() 方法用於關閉瀏覽器視窗。
說明:方法 close() 將關閉有 window 指定的頂層瀏覽器視窗。某個視窗可以通過呼叫 self.close() 或只呼叫 close() 來關閉其自身。
只有通過 JavaScript 程式碼開啟的視窗才能夠由 JavaScript 程式碼關閉。這阻止了惡意的指令碼終止使用者的瀏覽器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
var myWindow=null;
window.onload=function(){
myWindow=window.open("about:blank","","width=200,height=100");
myWindow.document.write("This is 'myWindow'");
}
function closeWin(){
myWindow.close();
}
</script>
</head>
<body>
<input type="button" value="Close 'myWindow'"
onclick="closeWin()" />
</body>
</html>
3. JavaScript 彈窗方法
在 JavaScript 中建立三種訊息框:警告框、確認框、提示框。
警告框:window.alert("sometext");
確認框:window.confirm("sometext");
當確認卡彈出時,使用者可以點選 "確認" 或者 "取消" 來確定使用者操作。
當你點選 "確認", 確認框返回 true, 如果點選 "取消", 確認框返回 false。
提示框:window.prompt("sometext","defaultvalue");
當提示框出現後,使用者需要輸入某個值,然後點選確認或取消按鈕才能繼續操縱。
如果使用者點選確認,那麼返回值為輸入的值。如果使用者點選取消,那麼返回值為 null。
引數1---提示資訊
引數2---提示框的預設值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
#div1{
width: 300px;
height: 300px;
background-color: red;
}
</style>
<script>
window.onload=function(){
var butObj=document.getElementById("but1");
butObj.onclick=function(){
//window.alert("測試警告框");
var val=window.confirm("確定要刪除嗎?");
if(val){
var divObj=document.getElementById("div1");
var hObj=document.getElementById("h");
divObj.removeChild(hObj);
}
}
var butObj2=document.getElementById("but2");
butObj2.onclick=function(){
var val=window.prompt("請輸入姓名","");
if(val.length>0){
alert(val);
}else{
alert("不能為空!");
}
}
}
</script>
</head>
<body>
<div id="div1">
<h1 id="h">測試確認框</h1>
</div>
<input id="but1" type="button" value="刪除H1" /><br>
<input id="but2" type="button" value="測試提示框" />
</body>
</html>
1.3 子物件
1. Window Screen--螢幕
window.screen 物件包含有關使用者螢幕的資訊。
1.總寬度和總高度 --- screen.width / screen.height
2.可用寬度和可用高度----screen.availWidth / screen.availHeight
3.色彩深度----screen.colorDepth
4.色彩解析度----screen.pixelDepth
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
//1.總寬度和總高度 --- screen.width / screen.height
window.document.write("<h1>總寬度和總高度:"+window.screen.width+
"*"+window.screen.height+"</h1>");
//2.可用寬度和可用高度----screen.availWidth / screen.availHeight
window.document.write("<h1>可用寬度和可用高度:"+window.screen.availWidth+
"*"+window.screen.availHeight+"</h1>");
//3.色彩深度----screen.colorDepth
window.document.write("<h1>色彩深度:"+window.screen.colorDepth+"</h1>");
//3.色彩解析度----screen.pixelDepth
window.document.write("<h1>色彩解析度:"+window.screen.colorDepth+"</h1>");
</script>
</head>
<body>
</body>
</html>
2. Window Location---頁面的地址 (URL)
物件用於獲得當前頁面的地址 (URL),並把瀏覽器重定向到新的頁面。
location.href 屬性返回當前頁面的 URL。
location.pathname 屬性返回 URL 的路徑名。
location.assign() 方法載入新的文件。
location.search 屬性是一個可讀可寫的字串,可設定或返回當前 URL 的查詢部分(問號 ? 之後的部分)。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
document.write("<h1>href:"+window.location.href+"</h1>");
document.write("<h1>pathname :"+window.location.pathname +"</h1>");
document.write("<h1>search :"+window.location.search+"</h1>");
</script>
</head>
<body>
</body>
</html>
例項:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用者登入</title>
<script>
window.onload=function(){
var but1=document.getElementById("but1");
var username=document.getElementById("text1");
var password=document.getElementById("pass1");
var span=document.getElementById("span");
but1.onclick=function(){
var usernamevalue=username.value;
var passwordvalue=password.value;
if(usernamevalue=="zhangsan" && passwordvalue=="123456"){
//跳轉到成功的頁面,傳遞使用者名稱
window.location.href="success.html?username="+usernamevalue;
}else{
//給出錯誤提示
span.innerHTML="<font color='red'>使用者名稱密碼錯誤!</font>";
}
}
//為使用者名稱輸入框新增聚焦事件
username.onfocus=function(){
span.innerHTML="";
username.value="";
password.value="";
}
}
</script>
</head>
<body>
<center>
<table border="1px">
<tr align="center">
<td colspan="2">
<h1>使用者登入</h1>
<span id="span"></span>
</td>
</tr>
<tr align="center">
<td>使用者名稱:</td>
<td><input id="text1" type="text" name="username"></td>
</tr>
<tr align="center">
<td>密碼:</td>
<td><input id="pass1" type="password" name="password"></td>
</tr>
<tr align="center">
<td colspan="2"><input id="but1" type="button" value="使用者登入" /></td>
</tr>
</table>
</center>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
window.onload=function(){
var searchvalue=window.location.search;
if(searchvalue.length<=0){
window.location.href="login.html";
}else{
//searchvalue===?username=zhangsan
//var strarray=searchvalue.split("=");
//var username=strarray[1];
var username=searchvalue.split("=")[1];
var h1obj=document.getElementById("h1");
h1obj.innerHTML="歡迎,"+username+"登入成功!";
}
}
</script>
</head>
<body>
<center>
<h1 id="h1">歡迎,登入成功!</h1>
</center>
</body>
</html>
3. Window History---歷史物件
4. Window Navigator--瀏覽器的資訊
相關文章
- javascript基礎JavaScript
- JavaScript基礎2JavaScript
- JavaScript基礎1JavaScript
- JavaScript基礎8JavaScript
- JavaScript基礎原理JavaScript
- Javascript基礎之-thisJavaScript
- JavaScript Promise(基礎)JavaScriptPromise
- JavaScript 基礎卷(一):基礎語法JavaScript
- 前端基礎入門四(JavaScript基礎)前端JavaScript
- javaScript基礎講解JavaScript
- JavaScript入門基礎JavaScript
- JavaScript基礎筆記JavaScript筆記
- JavaScript 基礎語法JavaScript
- JavaScript WebGL 基礎概念JavaScriptWeb
- javascript基礎知識JavaScript
- Javascript基礎之-PromiseJavaScriptPromise
- JavaScript基礎總結JavaScript
- JavaScript基礎(一)概述JavaScript
- 【Javascript 基礎】原型鏈JavaScript原型
- 前端基礎之JavaScript引入前端JavaScript
- JavaScript 基礎 - 第1天JavaScript
- 前端-JavaScript基礎知識前端JavaScript
- 最全JavaScript基礎總結JavaScript
- JavaScript WebGL 基礎疑惑點JavaScriptWeb
- 重學javascript基礎-typeofJavaScript
- javascript基礎使用筆記JavaScript筆記
- JavaScript基礎——使用陣列JavaScript陣列
- JavaScript基礎總結(二)JavaScript
- JavaScript 基礎之物件ObjectJavaScript物件Object
- JavaScript基礎之BOM操作JavaScript
- JavaScript基礎之DOM操作JavaScript
- JavaScript基礎之事件eventJavaScript事件
- javascript事件基礎知識JavaScript事件
- 回到基礎:理解 JavaScript DOMJavaScript
- JavaScript基礎(二)變數JavaScript變數
- JavaScript基礎(五)陣列JavaScript陣列
- JavaScript入門①-基礎知識築基JavaScript
- [譯]基礎中的基礎,JavaScript中的值和引用JavaScript