1.BOM-Location物件
Location 物件包含有關當前 URL 的資訊,
Location 物件是 window 物件的一部分,可通過 window.Location 屬性對其進行訪問,
window.location 物件用于獲得當前頁面的地址 (URL),并把瀏覽器重定向到新的頁面,window.location 物件在撰寫時可不使用 window 這個前綴,
| 屬性 | 描述 |
|---|---|
| hash | 回傳一個URL的錨部分 |
| host | 回傳一個URL的主機名和埠 |
| hostname | 回傳URL的主機名 |
| href | 回傳完整的URL |
| pathname | 回傳的URL路徑名, |
| port | 回傳一個URL服務器使用的埠號 |
| protocol | 回傳一個URL協議 |
| search | 回傳一個URL的查詢部分 |
| 方法 | 說明 |
|---|---|
| assign() | 載入一個新的檔案 |
| reload() | 重新載入當前檔案 |
| replace() | 用新的檔案替換當前檔案 |
1.1 Location物件屬性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>JS簡單學習</title>
</head>
<body>
<script type="text/javascript">
document.write("獲取URL的主機名:" + location.hostname + "<br />");
document.write("獲取URL的埠號:" + location.port + "<br />");
document.write("獲取URL的主機名和埠號:" + location.host + "<br />");
document.write("獲取完整的URL:" + location.href + "<br />");
document.write("獲取URL的路徑名:" + location.pathname + "<br />");
document.write("獲取URL的一個協議:" + location.protocol + "<br />");
</script>
</body>
</html>

1.2 Location物件方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JS簡單學習</title>
<script type="text/javascript">
function newDoc() {
window.location.assign("https://www.tencent.com");
}
function reloadDoc() {
location.reload();
}
function replaceDoc() {
window.location.replace("https://www.baidu.com");
}
</script>
</head>
<body>
<input type="button" value="載入新檔案" onclick="newDoc()" /><br /><br />
<input type="button" value="重新加載頁面" onclick="reloadDoc()" /><br /><br />
<input type="button" value="載入新檔案替換當前頁面" onclick="replaceDoc()" />
</body>
</html>

2.BOM-Cookie
Cookie 是一些資料, 存盤于你電腦上的文本檔案中,Cookie 用于存盤 web 頁面的用戶資訊,
當 web 服務器向瀏覽器發送 web 頁面時,在連接關閉后,服務端不會記錄用戶的資訊,
Cookie 的作用就是用于解決 "如何記錄客戶端的用戶資訊":
- 當用戶訪問 web 頁面時,他的名字可以記錄在 cookie 中,
- 在用戶下一次訪問該頁面時,可以在 cookie 中讀取用戶訪問記錄,
Cookie 以名/值對形式存盤,如下所示:
username=John Doe當瀏覽器從服務器上請求 web 頁面時, 屬于該頁面的 cookie 會被添加到該請求中,服務端通過這種方式來獲取用戶的資訊,
2.1 使用JS創建Cookie的幾種方式
JavaScript 可以使用 document.cookie 屬性來創建 、讀取、及洗掉 cookie,
JavaScript 中,創建 cookie 如下所示:
document.cookie="username=John Doe";還可以為 cookie 添加一個過期時間(以 UTC 或 GMT 時間),默認情況下,cookie 在瀏覽器關閉時洗掉:
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";也可以使用 path 引數告訴瀏覽器 cookie 的路徑,默認情況下,cookie 屬于當前頁面,
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";
2.2 使用JS讀取Cookie
在 JavaScript 中, 可以使用以下代碼來讀取 cookie:
var x = document.cookie;
2.3 使用JS修改Cookie
在 JavaScript 中,修改 cookie 類似于創建 cookie,如下所示:
document.cookie="username=John Smith; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";舊的 cookie 將被覆寫,
2.4 使用JS洗掉Cookie
洗掉 cookie 非常簡單,您只需要設定 expires 引數為以前的時間即可,如下所示,設定為 Thu, 01 Jan 1970 00:00:00 GMT:
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";注意,當洗掉時不必指定 cookie 的值,
2.5 小實體
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JS簡單學習</title>
<script type="text/javascript">
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0;i<ca.length;i++) {
var c = ca[i].trim();
if(c.indexOf(name)==0) {
return c.substring(name.length,c.length);
}
}
return "";
}
function checkCookie() {
var user=getCookie("username");
if(user!="") {
alert("歡迎 " + user + " 再次訪問");
}else {
user = prompt("請輸入你的名字:","");
if(user!="" && user!=null) {
setCookie("username",user,30);
}
}
}
</script>
</head>
<body onl oad="checkCookie()"></body>
</html>


轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/264503.html
標籤:其他
上一篇:js生成二維碼
