JavaScript 教程之JS Navigator+JS PopupAlert+JS Timing+JS Cookies
一.JavaScript Window Navigator
window.navigator 物件包含有關訪問者瀏覽器的資訊。
1.Window Navigator
window.navigator 物件在編寫時可不使用 window 這個字首。
程式碼
<!DOCTYPE html>
<html>
<body>
<div id="example"></div>
<script>
txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt += "<p>Browser Name: " + navigator.appName + "</p>";
txt += "<p>Browser Version: " + navigator.appVersion + "</p>";
txt += "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt += "<p>Platform: " + navigator.platform + "</p>";
txt += "<p>User-agent header: " + navigator.userAgent + "</p>";
txt += "<p>User-agent language: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML = txt;
</script>
</body>
</html>
效果
警告:來自 navigator 物件的資訊具有誤導性,不應該被用於檢測瀏覽器版本,這是因為:
- navigator 資料可被瀏覽器使用者更改
- 瀏覽器無法報告晚於瀏覽器釋出的新作業系統
2.瀏覽器檢測
由於 navigator 可誤導瀏覽器檢測,使用物件檢測可用來嗅探不同的瀏覽器。
由於不同的瀏覽器支援不同的物件,您可以使用物件來檢測瀏覽器。例如,由於只有 Opera 支援屬性 "window.opera",您可以據此識別出 Opera。
例子:if (window.opera) {...some action...}
二.JavaScript 訊息框
1.警告框
警告框經常用於確保使用者可以得到某些資訊。
當警告框出現後,使用者需要點選確定按鈕才能繼續進行操作。
語法
alert("文字")
程式碼
<html>
<head>
<script type="text/javascript">
function disp_alert() {
alert("我是警告框!!")
}
</script>
</head>
<body>
<input type="button" onclick="disp_alert()" value="顯示警告框" />
</body>
</html>
效果
如果字元過長 可以
alert("再次向您問好!在這裡,我們向您演示" + '\n' + "如何向警告框新增折行。")
2.確認框
確認框用於使使用者可以驗證或者接受某些資訊。
當確認框出現後,使用者需要點選確定或者取消按鈕才能繼續進行操作。
如果使用者點選確認,那麼返回值為 true。如果使用者點選取消,那麼返回值為 false。
語法
confirm("文字")
程式碼
<html>
<head>
<script type="text/javascript">
function show_confirm() {
var r = confirm("您確定要刪除資料?");
if (r == true) {
alert("確定");
} else {
alert("取消");
}
}
</script>
</head>
<body>
<input type="button" onclick="show_confirm()" value="確認框" />
</body>
</html>
效果
3.提示框
提示框經常用於提示使用者在進入頁面前輸入某個值。
當提示框出現後,使用者需要輸入某個值,然後點選確認或取消按鈕才能繼續操縱。
如果使用者點選確認,那麼返回值為輸入的值。如果使用者點選取消,那麼返回值為 null。
語法
prompt("文字","預設值")
程式碼
<html>
<head>
<script type="text/javascript">
function disp_prompt() {
var name = prompt("請輸入您的名字", "Penny")
if (name != null && name != "") {
alert("您的輸入為:"+name);
}else{
alert("請輸入內容!");
}
}
</script>
</head>
<body>
<input type="button" onclick="disp_prompt()" value="顯示提示框" />
</body>
</html>
效果
三.JavaScript 計時
通過使用 JavaScript,我們有能力做到在一個設定的時間間隔之後來執行程式碼,而不是在函式被呼叫後立即執行。我們稱之為計時事件。
在 JavaScritp 中使用計時事件是很容易的,兩個關鍵方法是:
setTimeout():未來的某時執行程式碼
clearTimeout():取消setTimeout()
1.setTimeout()
語法
var t=setTimeout("javascript語句",毫秒)
setTimeout() 方法會返回某個值。在上面的語句中,值被儲存在名為 t 的變數中。假如你希望取消這個 setTimeout(),你可以使用這個變數名來指定它。
setTimeout() 的第一個引數是含有 JavaScript 語句的字串。這個語句可能諸如 "alert('5 seconds!')",或者對函式的呼叫,諸如 alertMsg()"。
第二個引數指示從當前起多少毫秒後執行第一個引數。
提示:1000 毫秒等於一秒。
程式碼
<html>
<head>
<script type="text/javascript">
var c = 0
var t
function timedCount() {
document.getElementById('txt').value = c
c = c + 1
t = setTimeout("timedCount()", 1000)
}
</script>
</head>
<body>
<form>
<input type="button" value="Start count!" onClick="timedCount()">
<input type="text" id="txt">
</form>
</body>
</html>
效果
2.clearTimeout()
語法
clearTimeout(setTimeout_variable)
程式碼
<html>
<head>
<script type="text/javascript">
var c = 0
var t
function timedCount() {
document.getElementById('txt').value = c
c = c + 1
t = setTimeout("timedCount()", 1000)
}
function stopCount() {
clearTimeout(t)
}
</script>
</head>
<body>
<form>
<input type="button" value="Start count!" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="Stop count!" onClick="stopCount()">
</form>
</body>
</html>
效果
四.JavaScript Cookies
cookie 用來識別使用者。
1.描述
1.1.什麼是cookie
cookie 是儲存於訪問者的計算機中的變數。每當同一臺計算機通過瀏覽器請求某個頁面時,就會傳送這個 cookie。你可以使用 JavaScript 來建立和取回 cookie 的值。
1.2.有關cookie的例子:
1.2.1.名字 cookie
當訪問者首次訪問頁面時,他或她也許會填寫他/她們的名字。名字會儲存於 cookie 中。當訪問者再次訪問網站時,他們會收到類似 "Welcome John Doe!" 的歡迎詞。而名字則是從 cookie 中取回的。
1.2.2.密碼 cookie
當訪問者首次訪問頁面時,他或她也許會填寫他/她們的密碼。密碼也可被儲存於 cookie 中。當他們再次訪問網站時,密碼就會從 cookie 中取回。
1.2.3.日期 cookie
當訪問者首次訪問你的網站時,當前的日期可儲存於 cookie 中。當他們再次訪問網站時,他們會收到類似這樣的一條訊息:"Your last visit was on Tuesday August 11, 2005!"。日期也是從 cookie 中取回的。
2.建立和儲存 cookie
在這個例子中我們要建立一個儲存訪問者名字的 cookie。當訪問者首次訪問網站時,他們會被要求填寫姓名。名字會儲存於 cookie 中。當訪問者再次訪問網站時,他們就會收到歡迎詞。
程式碼
<html>
<head>
<script type="text/javascript">
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=")
if (c_start != -1) {
c_start = c_start + c_name.length + 1
c_end = document.cookie.indexOf(";", c_start)
if (c_end == -1) c_end = document.cookie.length
return unescape(document.cookie.substring(c_start, c_end))
}
}
return ""
}
function setCookie(c_name, value, expiredays) {
var exdate = new Date()
exdate.setDate(exdate.getDate() + expiredays)
document.cookie = c_name + "=" + escape(value) +
((expiredays == null) ? "" : "; expires=" + exdate.toGMTString())
}
function checkCookie() {
username = getCookie('username')
if (username != null && username != "") {
alert('Welcome again ' + username + '!')
} else {
username = prompt('Please enter your name:', "")
if (username != null && username != "") {
setCookie('username', username, 365)
}
}
}
</script>
</head>
<body onLoad="checkCookie()">
</body>
</html>
效果
相關文章
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架
- CookiesCookie
- web前端教程之JavaScript的作用域Web前端JavaScript
- 寫爬蟲,免不了要研究JavaScript設定cookies的問題爬蟲JavaScriptCookie
- Another Intro for CookiesCookie
- [Javascript] JS LabelJavaScriptJS
- Sanic Cookies 讀寫Cookie
- 多域名共享 cookiesCookie
- vue中使用cookies和crypto-js實現記住密碼和加密VueCookieJS密碼加密
- [JavaScript]js EventLoop And AsyncJavaScriptJSOOP
- Node.js入門教學之一Node.js
- Python Selenium如何操作CookiesPythonCookie
- 【Lintcode】1230. Assign CookiesCookie
- node.js相比JavaScriptNode.jsJavaScript
- js比較日期 - JavaScriptJSJavaScript
- vue3-cookies元件使用VueCookie元件
- cookies sessionStorage和localstorage區別CookieSession
- 為爬蟲獲取登入cookies: 使用browsercookie從瀏覽器獲取cookies爬蟲Cookie瀏覽器
- JavaScript 2/30: JS & CSS ClockJavaScriptJSCSS
- Cypress系列(90)- Cypress.Cookies 命令詳解以及如何跨測試用例共享 CookiesCookie
- 好程式設計師web前端教程之Node.Js流程程式設計師Web前端Node.js
- jmeter通過cookies來登入JMeterCookie
- jmeter學習指南之管理CookiesJMeterCookie
- requests返回值cookies轉字典Cookie
- Request.Cookies使用方法分析Cookie
- web前端教程之JavaScript學習筆記之遞迴函式Web前端JavaScript筆記遞迴函式
- 好程式設計師web前端學習教程之Node Js流程程式設計師Web前端JS
- 前端教程之Intro.js輕鬆實現新手引導效果前端JS
- 【JavaScript】JS的堅實基礎JavaScriptJS
- GPU.js助您改善JavaScript效能GPUJSJavaScript
- 好程式設計師web前端教程之詳解JavaScript嚴格模式程式設計師Web前端JavaScript模式
- 如何提升JavaScript的任務效率?學會後教給你同事JavaScript
- JavaScript 2.3 js之||、&&、|、&、三目運算子JavaScriptJS
- 【JavaScript】聊聊js中關於this的指向JavaScriptJS
- python request 獲取cookies value值的方法PythonCookie
- vue 本地除錯跨域---帶cookies(axios)Vue除錯跨域CookieiOS
- 好程式設計師web前端教程之JS繼承實現方式解析程式設計師Web前端JS繼承
- Vue.js原始碼解析-Vue初始化流程之動態建立DOMVue.js原始碼