在XHTML Strict 1.0中開新視窗的方法
我們要在新視窗中打開連結時最常用的做法是在連結後面加上target="_blank",我們採用過渡型的DOCTYPE(xh tml1-transitional. dtd)時沒有問題,但是當我們使用嚴格的DOCTYPE(xhtml1-strict.dtd)時,這個方法將通不過W3C MarkUp Validator的檢驗,會出現如下錯誤提示:
"there is no attribute target for this element(in this HTML version)"
原來在HTML4.01/XHTML1.0/XHTML1.1嚴格DOCTYPE下,target="_blank"、target="_self"等等語法都是無效的,我們只能透過Javascript來變通實現。
為什麼不允許使用target="_blank"?這個屬性很方便啊。呵呵,不知道W3C的專家們是怎麼想的,據我所知,主要是“易用性、友善度”的問題,因為老外覺得不經過使用者同意,沒有明確提示就打開一個新視窗是不禮貌的。
但以我自己的經驗來說,如果有一個連結到外站的網頁,如果不開在新視窗的話,恐有被誤認為還在同一個網站內,我想這對我所連往的網站是種不尊重的行為。且不同網站之間的架構不同,開新視窗就會破壞導航的說法,我想也有待商確。
不過,先不管這個取消是否合理,我們來看看解決辦法。
假設一個超連結原本是如下的寫法:
<a href="test.html">測試網頁</a>
只要改成以下寫法即可:
<a href="test.html" onclick="this.target='_blank'">測試網頁</a>
這方法是參考了眾多網站的做法後所得出的結論,應該是目前已知最簡單的寫法了。
當然你也可以視情況,將_blank改為_self或其他符合需求的名稱。