8 điểm bởi xguru 2020-11-16 | 3 bình luận | Chia sẻ qua WhatsApp
  • Khi mở cửa sổ mới bằng target="_blank", trình duyệt đã được thay đổi để hoạt động như thể rel="noopener" luôn được áp dụng nhằm tránh lỗ hổng bảo mật cho phép truy cập vào trang gốc

  • Safari đã áp dụng từ năm 2018

  • Một nhà phát triển của MS Edge đã thêm tính năng này vào Chromium, nên nó được áp dụng cho mọi trình duyệt như Edge/Chrome/Brave

  • Đã được thêm vào Chrome Canary và dự kiến phát hành chính thức trong Chrome 88 vào tháng 1 năm 2021

3 bình luận

 
sduck4 2020-11-16

Có vẻ là nếu muốn truy cập cửa sổ cha từ cửa sổ mới như trước đây thì phải thêm thuộc tính rel="opener" vào thẻ a.

Ở những trang không còn được bảo trì, nếu dùng tính năng đó thì có thể sẽ phát sinh đôi chút vấn đề.

 
dua804 2020-11-17

Cá nhân tôi đang mở popup như bên dưới để liên kết giữa cửa sổ cha và cửa sổ con.

var childWin = window.open("", "childWin");

childWin.location.href = "https://news.hada.io";;

Làm như vậy thì dù cả cửa sổ cha và cửa sổ con có đổi trang, chúng vẫn có thể điều khiển lẫn nhau.

Tôi thường dùng cách này khi mở trình phát dưới dạng popup.

 
xguru 2020-11-16

Vấn đề này là khi mở một cửa sổ mới, nếu JavaScript của URL mới đó có ý đồ xấu thì nó có thể chuyển hướng trang gốc sang nơi khác (như trang phishing).

Điều này có thể xảy ra trên các trang web nơi người dùng có thể đăng ký URL trong nội dung/bình luận.

Để ngăn chặn điều này, từ bây giờ khi dùng target thì tốt nhất nên thêm rel="noopener".

  • GeekNews hoàn toàn không có chức năng mở cửa sổ mới nên chưa áp dụng. ^^;