HTML - target="_blank" 帶底線的歷史或技術原因?

HTML - target="_blank" 帶底線的歷史或技術原因?

直到今天我還在想為什麼target="_blank"還沒成為target="blank"。我相信瀏覽器也能理解這一點。

此決定/規範是否有任何歷史或技術原因?

答案1

如果您要使用target="blank"您的鏈接將要在新分頁/視窗中開啟。然而,有一個微妙的區別。再次按一下該連結將重複使用第一次開啟的窗口,而不是開啟一個新視窗。

這是因為該target屬性的用途不僅僅是開啟一個新視窗。它有四個內建值,但也允許您指定自己的目標。如果你看一下相關的W3 學校頁面它顯示以下選項:

  • _blank在新視窗或選項卡中開啟連結文檔
  • _self在單擊的同一框架中開啟連結文件(這是預設值)
  • _parent在父框架中開啟連結文檔
  • _top在整個視窗中開啟連結文檔
  • <framename>在命名框架中開啟連結文檔

除非您對 HTML 框架有所了解,否則大部分內容都沒有意義。使用 HTML<frameset>標籤可讓您將瀏覽器視窗分成單獨的部分(框架),每個部分都有自己的頁面。透過為框架指定名稱並使用target連結中的屬性,可以控制哪個框架應顯示相關內容。

但瀏覽器必須套用一些針對目標屬性的附加規則:

  • 如果目標是使用者指定的名稱,則它必須以字母開頭(無底線、數字等)
  • 如果目標是使用者指定的名稱,但沒有框架/視窗與該名稱匹配,則使用該名稱建立新選項卡/視窗。這就是為什麼target="blank"它會這樣工作。

基本上沒有理由改變目前的約定,因為這_blank是一個特殊情況。原始類型的框架可能不再使用太多,但在其他情況下,您可以使用目標屬性使用的命名對象,例如 iframe,它是直接嵌入到頁面中的單一框架。更改標準會破壞許多現有頁面,而不會帶來任何好處。

相關內容