摘要:但是如果你在別的頁面比如在百度搜索結(jié)果頁面上,運(yùn)行上面的代碼,會發(fā)現(xiàn)窗口不會被移動位置,也不會被改變寬度高度。
JavaScript 一些有關(guān) BOM 的筆記
瀏覽器窗口原文鏈接
參看我以前的文章:
一些窗口滾動和窗口、元素寬度高度的 Web APIs
window.open()var win = window.open(URL,name,specs,replace) // win : 一個指向 window.open() 打開的窗口對象的引用 // Url : 需要載入的url地址 // name : 新窗口的名稱 // specs : 可選值,設(shè)置新窗口的特性
更詳細(xì)語法,點(diǎn)這里。下面舉一個例子:
var win = window.open("http://segmentfault.com","_blank","width=400,height=600,left=100,top=50,scrollbars=yes,resizable=no"); setTimeout(function(){win.moveTo(500,0);},2000); setTimeout(function(){ var x = 400,y = 600; for(let i=0;i<200;i++){ setTimeout(function(){win.resizeTo(x++,y--);},100); } },3500); setTimeout(function(){ if(confirm("要關(guān)掉這個窗口嗎?")){ win.close(); alert("已成功關(guān)閉!"); }else{ alert("好吧,聽你的!"); } },5000);
注意:如果你在本站某個頁面上打開瀏覽器控制端,將上面的代碼復(fù)制粘貼于控制端運(yùn)行,會達(dá)到預(yù)期的效果。但是如果你在別的頁面(比如在百度搜索結(jié)果頁面上),運(yùn)行上面的代碼,會發(fā)現(xiàn)窗口不會被移動位置,也不會被改變寬度高度。這是因為瀏覽器的同源安全策略。這里先提一下,以后再總結(jié)。
系統(tǒng)對話框先附上兩個有關(guān)同源策略的鏈接:
SecurityError: Blocked a frame with origin from accessing a cross-origin frame
瀏覽器的同源策略
alert()
confirm( text )
prompt( text , value )
if(confirm("你想測試這3個函數(shù)嗎?")){ if(prompt("你喜歡誰?","") === "zyj"){ alert("哈哈,我也喜歡!"); }else{ alert("注單身!"); } }else{ alert("我就呵呵了!"); }location 對象
屬性
location.search 返回的信息不便于我們直接訪問,所以下面便封裝了一個函數(shù)用來將這個返回的信息拼裝成為一個對象,方便訪問。
// 解析查詢字符串 function getQueryStringArgs(){ var qs = location.search; // 查詢字符串 var args = {}; // 返回保存數(shù)據(jù)的對象 if(qs.length > 0){ qs = qs.substring(1); }else{ return args; } var items = [], item = null, name = null, value = null, len; items = qs.split("&"); len = items.length; for(let i = 0;i < len;i++){ item = items[i].split("="); name = decodeURIComponent(item[0]); value = decodeURIComponent(item[1]); if(name.length){ args[name] = value; } } return args; }
方法
location.assign(url) : 打開新的文檔
location.replace(url) : 用新的文檔替換當(dāng)前文檔
location.reload(boolean) : 重新加載當(dāng)前文檔
// 我有 3 種辦法跳轉(zhuǎn)頁面到百度首頁 location.assign("https://www.baidu.com/"); window.location = "https://www.baidu.com/"; location.;
location.reload(); //重新加載,有緩存,從緩存取資源 location.reload(true); //重新加載,服務(wù)器重新加載navigator 對象
navigator 對象包含有關(guān)瀏覽器的信息
暫時沒怎么用過,先不寫什么了。
history 對象history 對象保存著用戶上網(wǎng)的歷史紀(jì)錄
history.length : 當(dāng)前標(biāo)簽頁存在的歷史紀(jì)錄條數(shù)
history.go(-1) : 后退一頁
history.go(1) : 前進(jìn)一頁
history.go(2) : 前進(jìn)兩頁
還有兩個簡寫方法 back() 和 forward() 用來代替 go() 方法,這兩個方法用來模擬瀏覽器的 前進(jìn) 和 后退 按鈕。
history.back(); // 后退一頁 history.forward(); // 前進(jìn)一頁
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/80381.html
摘要:由于計算機(jī)的國際化,組織的標(biāo)準(zhǔn)牽涉到很多其他國家,因此組織決定改名表明其國際性。規(guī)范由萬維網(wǎng)聯(lián)盟制定。級標(biāo)準(zhǔn)級標(biāo)準(zhǔn)是不存在的,級一般指的是最初支持的。 這篇筆記的內(nèi)容對應(yīng)的是《JavaScript高級程序設(shè)計(第三版)》中的第一章。 1.ECMA 和 ECMA-262 ECMA 是歐洲計算機(jī)制造商協(xié)會的縮寫,全程是 European Computer Manufacturers Ass...
摘要:僅限數(shù)值表示新窗口的高度。此時只要檢查這個返回值就可以確定彈窗是否被屏蔽。返回一個布爾值,代表用戶選擇還是返回一個字符串或者,輸入了值并確定,返回字符串,其他方法關(guān)閉返回打印查找對話框。 ECMAScript是JavaScript的核心,但如果要在Web中使用JavaScript,那么BOM(瀏覽器對象模型)則無疑才是真正的核心。 W3C為了把瀏覽器中JavaScript最基本的部分...
摘要:瀏覽器對象模型提供了很多對象,用于訪問瀏覽器的功能,這些功能與任何網(wǎng)頁內(nèi)容無關(guān)。對象基本上只用來表明客戶端的能力。 BOM(瀏覽器對象模型)提供了很多對象,用于訪問瀏覽器的功能,這些功能與任何網(wǎng)頁內(nèi)容無關(guān)。 window對象 全局作用域 定義全局變量與在window對象上直接定義屬性還是有一點(diǎn)差別:全局變量不能通過delete操作符刪除,而直接在window對象上的定義的屬性可以。 v...
摘要:在上百種語言中算是命好的一個,還有就是最近納入高考體系的。由以下三個部分構(gòu)成。就是對實現(xiàn)該標(biāo)準(zhǔn)規(guī)定的各個方面內(nèi)容的語言的描述。是針對但經(jīng)過擴(kuò)展的用于的應(yīng)用程序編程接口。將頁面映射為由節(jié)點(diǎn)構(gòu)成的樹狀結(jié)構(gòu)。 JavaScript的歷史這里就不再贅述了,當(dāng)然JavaScript的歷史還是比較有意思的。在上百種語言中JavaScript算是‘命’好的一個,還有就是最近納入高考體系的python...
閱讀 2475·2021-10-12 10:11
閱讀 1223·2021-10-11 10:58
閱讀 3263·2019-08-30 15:54
閱讀 704·2019-08-30 13:59
閱讀 674·2019-08-29 13:07
閱讀 1398·2019-08-26 11:55
閱讀 2138·2019-08-26 10:44
閱讀 2635·2019-08-23 18:25