Bình thường mình muốn open new window khi click trên 1 link nào đó, cách đơn giản nhất mình hay dùng từ lúc biết HTML đến giờ là dùng tag “target=_blank”, thật dễ dàng.
<a href="index.html" target="_blank">index</a>
Vấn đề là tag “target” không còn được hỗ trợ nữa trong XHTML1.0 Strict & XHTML1.1, xem trả lời tại đây.
Để validate HTML trong trường hợp này cần dùng Javascript hỗ trợ, có vài cách như sau:
1. Script trực tiếp trong code HTML
Cách này đơn giản dễ dùng, nhưng phải chèn code cho mỗi tag “a”
<a href="index.html" onclick="return ! window.open(this.href);">index</a>
2. Dùng JS Framework với jQuery
Cách này cần phải thêm rel=”blank” thay cho target=”_blank”, việc còn lại script sẽ xử lý
$(document).ready(function(){
$('a').each(function(){
if ($(this).attr('rel') == "blank"){
$(this).click(function(){
window.open($(this).attr('href'));
});
}
});
});
3. Không dùng Framework
Cách này cũng cần phải thêm rel=”blank” thay cho target=”_blank”, script sẽ auto run khi được include
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&anchor.getAttribute("rel") == "blank")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
Và cuối cùng, save as và include file
Bài viết liên quan:
- New-Window Links in a Standards-Compliant World
- Validate target attribute XHTML Strict or HTML 4.0 Strict