电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

JS瀏覽器BOM常見操作實例詳解

瀏覽:124日期:2024-05-11 15:18:53

本文實例講述了JS瀏覽器BOM常見操作。分享給大家供大家參考,具體如下:

window尺寸

有三種方法能夠確定瀏覽器窗口的尺寸(瀏覽器的視口,不包括工具欄和滾動條)。

對于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:

window.innerHeight - 瀏覽器窗口的內部高度 window.innerWidth - 瀏覽器窗口的內部寬度

對于 Internet Explorer 8、7、6、5:

document.documentElement.clientHeight document.documentElement.clientWidth

或者

document.documentElement.clientHeight document.documentElement.clientWidth

實用的 JavaScript 方案(涵蓋所有瀏覽器):

<script> var w=window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var h=window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; x=document.getElementById('demo'); x.innerHTML='瀏覽器window寬度: ' + w + ', 高度: ' + h + '。' </script>

其他 Window 方法

window.open() - 打開新窗口 window.close() - 關閉當前窗口 window.moveTo() - 移動當前窗口 window.resizeTo() - 調整當前窗口的尺寸 Window Screen

window.screen對象在編寫時可以不使用 window 這個前綴。

screen.availWidth - 可用的屏幕寬度 screen.availHeight - 可用的屏幕高度

Window Screen 可用寬度

screen.availWidth 屬性返回訪問者屏幕的寬度,以像素計,減去界面特性,比如窗口任務欄。

Window Screen 可用高度

screen.availHeight 屬性返回訪問者屏幕的高度,以像素計,減去界面特性,比如窗口任務欄。

Window Location

location.hostname 返回 web 主機的域名 location.pathname 返回當前頁面的路徑和文件名 location.port 返回 web 主機的端口 (80 或 443) location.protocol 返回所使用的 web 協議(http:// 或 https://) location.href 屬性返回當前頁面的 URL。 location.pathname 屬性返回 URL 的路徑名。 location.assign() 方法加載新的文檔。 Window History

history.back() - 與在瀏覽器點擊后退按鈕相同 history.forward() - 與在瀏覽器中點擊按鈕向前相同 JavaScript Navigator

window.navigator 對象包含有關訪問者瀏覽器的信息。

警告!!!

來自 navigator 對象的信息具有誤導性,不應該被用于檢測瀏覽器版本,這是因為:

navigator 數據可被瀏覽器使用者更改

一些瀏覽器對測試站點會識別錯誤

瀏覽器無法報告晚于瀏覽器發布的新操作系統

JavaScript 彈窗

可以在 JavaScript 中創建三種消息框:警告框、確認框、提示框。

警告框

警告框經常用于確保用戶可以得到某些信息。

當警告框出現后,用戶需要點擊確定按鈕才能繼續進行操作。

語法

window.alert('sometext');

window.alert() 方法可以不帶上window對象,直接使用alert()方法。

確認框

確認框通常用于驗證是否接受用戶操作。

當確認卡彈出時,用戶可以點擊 '確認' 或者 '取消' 來確定用戶操作。

當你點擊 '確認', 確認框返回 true, 如果點擊 '取消', 確認框返回 false。

語法

window.confirm('sometext');

window.confirm() 方法可以不帶上window對象,直接使用confirm()方法。

提示框

提示框經常用于提示用戶在進入頁面前輸入某個值。

當提示框出現后,用戶需要輸入某個值,然后點擊確認或取消按鈕才能繼續操縱。

如果用戶點擊確認,那么返回值為輸入的值。如果用戶點擊取消,那么返回值為 null。

語法

window.prompt('sometext','defaultvalue');

window.prompt() 方法可以不帶上window對象,直接使用prompt()方法。

換行

彈窗使用 反斜杠 + 'n'(n) 來設置換行。

JavaScript 計時事件

通過使用 JavaScript,我們有能力作到在一個設定的時間間隔之后來執行代碼,而不是在函數被調用后立即執行。我們稱之為計時事件。

在 JavaScritp 中使用計時事件是很容易的,兩個關鍵方法是:

setInterval() - 間隔指定的毫秒數不停地執行指定的代碼。 setTimeout() - 暫停指定的毫秒數后執行指定的代碼

Note: setInterval() 和 setTimeout() 是 HTML DOM Window對象的兩個方法。

setInterval() 方法

setInterval() 間隔指定的毫秒數不停地執行指定的代碼

語法

window.setInterval('javascript function',milliseconds);

window.setInterval() 方法可以不使用window前綴,直接使用函數setInterval()

setInterval() 第一個參數是函數(function)。第二個參數間隔的毫秒數

如何停止執行?

clearInterval() 方法用于停止 setInterval() 方法執行的函數代碼。

語法

window.clearInterval(intervalVariable)

window.clearInterval() 方法可以不使用window前綴,直接使用函數clearInterval()

要使用 clearInterval() 方法, 在創建計時方法時你必須使用全局變量:

myVar=setInterval('javascript function',milliseconds);

然后可以使用clearInterval() 方法來停止執行。

setTimeout() 方法語法

window.setTimeout('javascript 函數',毫秒數);

setTimeout() 方法會返回某個值。在上面的語句中,值被儲存在名為 t 的變量中。假如你希望取消這個 setTimeout(),你可以使用這個變量名來指定它。

setTimeout() 的第一個參數是含有 JavaScript 語句的字符串。這個語句可能諸如 'alert(’5 seconds!’)',或者對函數的調用,諸如 alertMsg()'。

第二個參數指示從當前起多少毫秒后執行第一個參數。

如何停止執行?

clearTimeout() 方法用于停止執行setTimeout()方法的函數代碼。

語法

window.clearTimeout(timeoutVariable)

window.clearTimeout() 方法可以不使用window 前綴。

要使用clearTimeout() 方法, 你必須在創建超時方法中(setTimeout)使用全局變量:

myVar=setTimeout('javascript function',milliseconds);

如果函數還未被執行,你可以使用 clearTimeout() 方法來停止執行函數代碼。

JavaScript Cookies

Cookies 用于存儲 web 頁面的用戶信息。

什么是 Cookies?

Cookies 是一些數據, 存儲于你電腦上的文本文件中。

當 web 服務器向瀏覽器發送 web 頁面時,在連接關閉后,服務端不會記錄用戶的信息。

Cookies 的作用就是用于解決 '如何記錄客戶端的用戶信息':

當用戶訪問 web 頁面時,他的名字可以記錄在 cookie 中。

在用戶下一次訪問該頁面時,可以在 cookie 中讀取用戶訪問記錄。

Cookies 以名/值對形式存儲,如下所示:

username=John Doe

當瀏覽器從服務器上請求 web 頁面時, 屬于該頁面的 cookies 會被添加到該請求中。服務端通過這種方式來獲取用戶的信息。

使用 JavaScript 創建Cookie

JavaScript 可以使用 document.cookie 屬性來創建 、讀取、及刪除 cookies。

JavaScript 中,創建 cookie 如下所示:

document.cookie='username=John Doe';

還可以為 cookie 添加一個過期時間(以 UTC 或 GMT 時間)。默認情況下,cookie 在瀏覽器關閉時刪除:

document.cookie='username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT';

可以使用 path 參數告訴瀏覽器 cookie 的路徑。默認情況下,cookie 屬于當前頁面。

document.cookie='username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/';使用 JavaScript 讀取 Cookie

在 JavaScript 中, 可以使用以下代碼來讀取 cookies:

var x = document.cookie; document.cookie 將以字符串的方式返回所有的 cookies,類型格式: cookie1=value; cookie2=value; cookie3=value; 使用 JavaScript 修改 Cookie

在 JavaScript 中,修改 cookies 類似于創建 cookies,如下所示:

document.cookie='username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/';

舊的 cookie 將被覆蓋。

使用 JavaScript 刪除 Cookie

刪除 cookie 非常簡單。您只需要設置 expires 參數為以前的時間即可,如下所示,設置為 Thu, 01 Jan 1970 00:00:00 GMT:

document.cookie = 'username=; expires=Thu, 01 Jan 1970 00:00:00 GMT';

注意,當您刪除時不必指定 cookie 的值。

設置 cookie 值的函數

首先,我們創建一個函數用于存儲訪問者的名字:

//cookie 的名稱為 cname,cookie 的值為 cvalue,并設置了 cookie 的過期時間 expires。 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; } 獲取 cookie 值的函數

然后,我們創建一個函數用戶返回指定 cookie 的值:

function getCookie(cname) { var name = cname + '=';//創建一個文本變量用于檢索指定 cookie :cname + '='。 var ca = document.cookie.split(’;’);//使用分號來分割 document.cookie 字符串,并將分割后的字符串數組賦值給 ca (ca = document.cookie.split(’;’))。 //循環 ca 數組 (i=0;i<ca.length;i++),然后讀取數組中的每個值,并去除前后空格 (c=ca[i].trim())。 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);//如果找到 cookie(c.indexOf(name) == 0),返回 cookie 的值 (c.substring(name.length,c.length)。 } return '';//如果沒有找到 cookie, 返回 ''。 } 檢測 cookie 值的函數

最后,我們可以創建一個檢測 cookie 是否創建的函數。

如果設置了 cookie,將顯示一個問候信息。

如果沒有設置 cookie,將會顯示一個彈窗用于詢問訪問者的名字,并調用 setCookie 函數將訪問者的名字存儲 365 天:

function checkCookie() { var username=getCookie('username'); if (username!='') { alert('Welcome again ' + username); } else { username = prompt('Please enter your name:',''); if (username!='' && username!=null) { setCookie('username',username,365); } } }

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《JavaScript操作DOM技巧總結》、《JavaScript頁面元素操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 净化板-洁净板-净化板价格-净化板生产厂家-山东鸿星新材料科技股份有限公司 | 金属抛光机-磁悬浮抛光机-磁力研磨机-磁力清洗机 - 苏州冠古科技 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 钢骨架轻型板_膨石轻型板_钢骨架轻型板价格_恒道新材料 | 耐高温硅酸铝板-硅酸铝棉保温施工|亿欧建设工程 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 全自动包装机_灌装机生产厂家-迈驰包装设备有限公司 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 市政路灯_厂家-淄博信达电力科技有限公司 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 |