html實現a元素href的URL連接自動刷新或新窗口打開

有時咱們想實現這樣一個功能,點擊一個連接,若是這個連接瀏覽器已經打開過,則刷新已經打開的連接窗口;若是這個連接沒有打開過,則使用新窗口打開這個連接頁面。html

這是一個很是好的體驗加強功能,能夠有效避免瀏覽器選項卡中打開重複多餘的頁面。瀏覽器

關鍵是如何實現呢?spa

使用a標籤的target屬性特性:

不管是a連接元素仍是form表單元素都有一個名叫target的屬性,支持的值包括下面這些:code

  • _self:默認值。當前瀏覽器上下文。
  • _blank:一般是一個新的標籤頁,可是用戶能夠配置瀏覽器,是否在新窗口打開。
  • _parent:當前瀏覽器上下文的的父級上下文,若是沒有父級,則行爲相似_self。
  • _top:最頂級的瀏覽器上下文。若是沒有祖先上下文環境,則行爲相似_self。

實際上,target還有一個隱藏特性,那就是能夠指定爲具體的URL地址或者任意自定義的名稱。orm

例如:htm

<a href="http://www.baidu.com" target="http://www.baidu.com">空白頁</a>

此時,若是瀏覽器已經有標籤頁的地址是blank.html,則點擊上面的連接並不會打開新窗口,是直接刷新已經打開的blank.html;若是瀏覽器中沒有地址是blank.html的標籤頁,則此時target屬性的行爲表現相似'_blank'。blog

也就是說,咱們要想實現連接地址自動刷新和新窗口打開的這個需求,知道設置連接元素和表單元素的target屬性值爲目標URL地址值就行了。get

所以,若是想要實現全部的搜索結果頁都使用一個標籤頁選項卡,須要使用其餘辦法,很簡單,指定爲相同的值便可,例如:form

<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"會指向同一個頁面,不會打開倆個新窗口。class

總結:

要想實現a元素href連接自動刷新或新窗口打開的功能,只須要設置target屬性值和href屬性值同樣就行了。

這個特性IE瀏覽器,Firefox瀏覽器,以及Chrome瀏覽器都是支持的,放心使用。

相關文章
相關標籤/搜索