擊右上方紅色按鈕關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!
大家好!我是/小鄭搞碼事/的小鄭
今天和大家分享一下JS如何操作瀏覽器窗口。只講如何打開一個新窗口
先來看效果圖
上面這個圖界面效果就是我們要實現的。
我們常常需要創建一個新窗口,用來向用戶顯示額外的信息,同時又避免他們正在閱讀的信息消失。從實現方案上來看,盡管我們可以用HTML打開一個新的瀏覽器窗口,但是使用JavaScript可以對新窗口的內容和特性進行更多的控制。
接下來,我們看一下怎么實現的
定義一個打開新窗口的函數newWindow。如上面代碼所示,變量catWindow包含一個新的窗口對象,這個對象引用圖像文件icon.png,這個新窗口的名稱是catWin,必須設置名稱,因為我們以后可能希望在a或另一個腳本中引用這個窗口。新窗口的寬度是350像素,高度是260像素,位置是左邊400,上邊400。
頁面中,包含一個onload事件處理程序,它調用newWinLinks函數,newWinLinks循環遍歷頁面上的a,檢查是否有任何a包含class屬性值newWin。如果有,就設置這個a元素的onclick事件處理程序,從而,當點擊這個a時,調用newWindow函數。
總結一下
需要注意兩個地方:
1、newWindow中,在寬度和高度參數中的逗號之間不能有任何空格,如果有空格,那么腳本可能在某些瀏覽器中無效,總地來說,當腳本出現錯誤,需要進行高度時,要首先查找這樣的小問題。
2、比如向窗口中添加參數時,希望窗口具有工具欄,地址欄,滾動條
toolbar=yes,location=yes,scrollbars=yes
參數默認是no,可以不填。當然瀏覽器上表現也有不同,需要知道。
午接到博客訪客的反饋,表示博客中的鏈接在原窗口打開的話,網站的體驗非常的不好,而自己又懶的一個個去修改博客網頁中的鏈接打開方式,就加了一個強制頁面所有鏈接新窗口打開的代碼,一招解決問題。
<base target="_blank">
將此代碼放到,網頁中的 <head>標簽之內即可實現,當前頁面所有A鏈接新窗口打開
<base>:標簽當前頁面上的所有的相對鏈接規定默認 URL 或 默認目標。
語法:
<base href="網址" target="打開的方式">
屬性;
herf:規定的默認鏈接
target:鏈接打開的方式,參數有 _blank,_self 等,與A標簽的 target 屬性相同
<base target="_blank">
<base target="_self">
<!DOCTYPE html> <html lang="en"> <head> <base href="https://www.feiniaomy.com" target="_blank"> <title>Document</title> </head> <body> <a href="/post/1.html">我是相對鏈接,我可以打開 https://www.feiniaomy.com/post/1.html</a> <a href="http://www.baidu.com">我是絕對鏈接,我可以打開 http://www.baidu.com</a> </body> </html>
1、一個頁面中,<base> 標簽只能出現一次
2、<base> 標簽只能在 <head></head>標簽中出現
3、<base> 屬于單標簽,沒有結束標簽,類似 <img> 標簽
單擊帶有超鏈接的文件時,超鏈接的內容有多種,打開方式,如替換當前頁打開,在新窗口打開等。而用來指定打開方式的是<a>標簽的target屬性。
如果在一個<a>標簽內容含一個target屬性,瀏覽器將會載入和顯示用這個標簽的href屬性命名的、名稱與這個目標吻合的框架或者窗口中的文檔。如果這個指定名稱或id的框架或者窗口不存在,瀏覽器將打開一個新窗口,并給這個窗口一個指定的標記,然后將新的文檔載入那個窗口。從此以后,超鏈接文檔就可以指向這個新的窗口。
target屬性的代碼格式如下:
<a target="value">
其中value有四個參數可用,這4個保留的目標名稱用作特殊的文檔重定向操作。
(1)-blank。瀏覽器總在一個新打開、未命名的窗口中載入目標文檔。
(2)-self。這個目標的值對所有未指定目標的<a>標簽是默認目標,使得目標文檔載入并顯示在相同的框架或者窗口中作為源文檔。這個目標是多余且不必要的,除非和文檔標題 <base>標簽中的target屬性一起使用。
(3)-parent。這個目標使得文檔載入父窗口或者包含超鏈接引用的框架的框架集。如果這個引用是在窗口或者頂級框架中,那么它與目標-self等效。
(4)-top。這個目標使的文檔載入包含這個超鏈接的窗口,用-tap目標將會清除所有被包含的框架并將文檔載入整個瀏覽器窗口。
小提示:這些target的所有4個值都以下劃線開始。任何其他用一個下劃線作為開頭的窗口或者目標都會被瀏覽器忽略,因此,不要將下劃線作為文檔中定義的任何框架name或id的第一個字符。
下面舉例說明target屬性的使用方法。
(1)編寫代碼如下圖所示:
(2)在瀏覽器中打開文件,預覽效果如下所示:
(3)單擊超鏈接,在新窗口打開連接頁面,下圖所示
(4)修改代碼并單擊鏈接。
將“-blank”換成“-self”,即代碼修改為“<a target="_self">新浪</a>”,單擊鏈接后,直接在當前窗口打開新鏈接,如圖所示:
*請認真填寫需求信息,我們會在24小時內與您取得聯系。