1. 程式人生 > >使用target="_blank"的注意事項

使用target="_blank"的注意事項

為了安全性考慮,target="_blank"較好的用法如下:

<a href="https://www.baidu.com" target="_blank" rel="noopener noreferrer nofollow">巴拉巴拉</a>

解釋:

由於在跨域的情況下,opener 可以呼叫 location.replace 方法引導使用者進入惡意網站,加入noopener之後,在開啟的新標籤頁中,將無法再使用 opener 物件了,它為設定為了 null。加入noreferrer之後限制了 referer 的傳遞,保證來源隱私安全在跳轉到第三方網站的時候,為了 SEO 權重,還建議帶上 rel=”nofollow”,所以最終類似於文章開始那樣。(注:這些屬性不是所有瀏覽器都支援,當不支援的時候可使用下方js解決)

支援的主流瀏覽器:FireFox52及其以上、Chrome49及其以上、Safari10.1及其以上、Opera36及其以上。

或者js將opener設為null:
"use strict";
function openUrl(url) {
  var newTab = window.open();
  newTab.opener = null;
  newTab.location = url;
}