html實現a元素href的URL連結自動重新整理或新視窗開啟
阿新 • • 發佈:2020-07-30
有時我們想實現這樣一個功能,點選一個連結,如果這個連結瀏覽器已經開啟過,則重新整理已經開啟的連結視窗;如果這個連結沒有開啟過,則使用新視窗開啟這個連結頁面。
這是一個非常好的體驗增強功能,可以有效避免瀏覽器選項卡中開啟重複多餘的頁面。
關鍵是如何實現呢?
使用a標籤的target屬性特性:
無論是a連結元素還是form表單元素都有一個名叫target的屬性,支援的值包括下面這些:
- _self:預設值。當前瀏覽器上下文。
- _blank:通常是一個新的標籤頁,但是使用者可以配置瀏覽器,是否在新視窗開啟。
- _parent:當前瀏覽器上下文的的父級上下文,如果沒有父級,則行為類似_self。
- _top:最頂級的瀏覽器上下文。如果沒有祖先上下文環境,則行為類似_self。
實際上,target還有一個隱藏特性,那就是可以指定為具體的URL地址或者任意自定義的名稱。
例如:
<a href="http://www.baidu.com" target="http://www.baidu.com">空白頁</a>
此時,如果瀏覽器已經有標籤頁的地址是blank.html,則點選上面的連結並不會開啟新視窗,是直接重新整理已經開啟的blank.html;如果瀏覽器中沒有地址是blank.html的標籤頁,則此時target屬性的行為表現類似'_blank'。
也就是說,我們要想實現連結地址自動重新整理和新視窗開啟的這個需求,知道設定連結元素和表單元素的target屬性值為目標URL地址值就好了。
因此,如果想要實現所有的搜尋結果頁都使用一個標籤頁選項卡,需要使用其他辦法,很簡單,指定為相同的值即可,例如:
<a href="blank.html?s=1" target="_search">空白頁?s=1</a> <a href="blank.html?s=2" target="_search">空白頁?s=2</a>
可以看到,href="blank.html?s=1"和href="blank.html?s=2"會指向同一個頁面,不會開啟倆個新視窗。
要想實現a元素href連結自動重新整理或新視窗開啟的功能,只需要設定target屬性值和href屬性值一樣就好了。
這個特性IE瀏覽器,Firefox瀏覽器,以及Chrome瀏覽器都是支援的,放心使用。