HTML - Lý do lịch sử hoặc kỹ thuật cho mục tiêu = Thời gian trống trống với dấu gạch dưới?


14

Cho đến hôm nay tôi tự hỏi tại sao target="_blank"không trở thành target="blank". Tôi chắc chắn các trình duyệt cũng có thể hiểu điều này.

Có bất kỳ lịch sử hoặc lý do kỹ thuật cho quyết định / đặc điểm kỹ thuật này?


Toàn bộ targetkhái niệm, trong khi vẫn được cho phép trong HTML 5, thường được coi là lỗi thời. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (trong 7 Frames and popups — just say nophần)
Jens Mühlenhoff

1
Ai đó có thể giải thích cho tôi tại sao câu hỏi này không được di chuyển sang StackOverflow đến trang web này không? Đó là một lựa chọn hoàn hảo cho SO và là một lựa chọn rất yếu cho SU - theo ý kiến ​​của tôi.
trejder

Câu trả lời:


21

Nếu bạn đã sử dụng, target="blank"liên kết của bạn sẽ mở trong một tab / cửa sổ mới. Tuy nhiên, có một sự khác biệt tinh tế. Nhấp vào liên kết một lần nữa sẽ sử dụng lại cửa sổ đã được mở lần đầu tiên thay vì mở một liên kết mới.

Điều này là do targetthuộc tính có thể được sử dụng nhiều hơn là chỉ mở một cửa sổ mới. Nó có bốn giá trị tích hợp nhưng cũng cho phép bạn chỉ định mục tiêu của riêng mình. Nếu bạn nhìn vào trang Trường học W3 có liên quan, nó sẽ hiển thị các tùy chọn sau:

  • _blank Mở tài liệu được liên kết trong một cửa sổ hoặc tab mới
  • _self Mở tài liệu được liên kết trong cùng một khung khi nó được bấm (đây là mặc định)
  • _parent Mở tài liệu được liên kết trong khung cha
  • _top Mở tài liệu được liên kết trong toàn bộ cửa sổ
  • <framename> Mở tài liệu được liên kết trong một khung có tên

Phần lớn điều này không có ý nghĩa gì trừ khi bạn hiểu một chút về khung HTML. Sử dụng <frameset>thẻ HTML cho phép bạn chia cửa sổ trình duyệt thành các phần (khung) riêng lẻ với mỗi trang riêng. Bằng cách đặt tên cho khung và sử dụng targetthuộc tính trong các liên kết của bạn, có thể kiểm soát khung nào sẽ hiển thị nội dung có liên quan.

Nhưng có một số quy tắc bổ sung cho thuộc tính đích mà trình duyệt phải áp dụng:

  • Nếu mục tiêu là tên do người dùng chỉ định thì nó phải bắt đầu bằng một chữ cái (không có dấu gạch dưới, số, v.v.)
  • Nếu mục tiêu là tên do người dùng chỉ định nhưng không có khung / cửa sổ nào khớp với tên đó thì hãy tạo một tab / cửa sổ mới bằng tên đó. Đây là lý do tại sao target="blank"hoạt động theo cách nó làm.

Về cơ bản không có lý do để thay đổi quy ước hiện tại vì _blanklà một trường hợp đặc biệt. Loại khung ban đầu có thể không được sử dụng nhiều nữa nhưng có những trường hợp khác mà bạn có thể đặt tên các đối tượng mà thuộc tính đích làm việc với, ví dụ: iframe là các khung đơn được nhúng trực tiếp vào một trang. Thay đổi tiêu chuẩn sẽ phá vỡ nhiều trang hiện có mà không mang lại bất kỳ lợi ích nào.


7
Bạn không nên tham khảo W3Schools: w3fools.com
Jens Mühlenhoff

2
Tôi không đồng ý rằng W3Schools không phải là hướng dẫn thiết kế web tốt nhất hoặc việc sử dụng các liên kết với thuộc tính đích đã lỗi thời. Tuy nhiên, tôi đã sử dụng thông tin để trả lời cụ thể câu hỏi ban đầu.
James P

1
Tôi nghĩ rằng liên kết đến các tài nguyên được biết là có vấn đề không phải là một ý tưởng tốt. Bạn trả lời là tốt.
Jens Mühlenhoff

1
Tôi muốn target="_blank"thuộc tính bổ sung sẽ không cần thiết nhưng thay vào đó, chúng tôi chỉ có thể thêm một dấu hiệu vào URL, ví dụ như dấu hoa thị <a href="*https://www.stackoverflow.com">Stackoverflow</a>. Điều đó sẽ tiết kiệm rất nhiều việc gõ :)
Kai Noack
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.