Laman

Pages

Laman

Oct 31, 2010

Mở liên kết ngoài sang cửa sổ mới một cách tự động

Thông thường khi thiết kế website hay webblog, khi muốn mở liên kết ngoài sang một cửa sổ mới, chúng ta thường sử dụng giá trị target="_blank" theo như ví dụ sau đây:

<a href="http://www.blogger.com/" target="_blank">Blogger</a>

Tuy nhiên đối với cả một website hay webblog đồ sộ, cứ mỗi lần có một liên kết ngoài ta muốn mở sang một cửa sổ mới khi kích chuột vào liên kết đó thì thật là bất tiện và mất nhiều công sức.

Bằng một thủ thuật đơn giản với việc sử dụng Javascript chúng ta có thể mở các liên kết ngoài sang cửa sổ mới một cách tự động mà không cần phải sử dụng giá trị "_blank".

Bạn chỉ cần đặt đoạn code dưới đây trước thẻ </body>. Thủ thuật này sử dụng cho website thông thường và cho cả Blogspot nữa đấy. Thật tuyệt cho các Blogger.
<script type='text/javascript'>
this.blankwin = function(){
var hostname = window.location.hostname;
hostname = hostname.replace("www.","").toLowerCase();
var a = document.getElementsByTagName("a");
this.check = function(obj){
var href = obj.href.toLowerCase();
return (href.indexOf("http://")!=-1 && href.indexOf(hostname)==-1) ? true : false;
};
this.set = function(obj){
obj.target = "_blank";
obj.className = "external";
};
for (var i=0;i<a.length;i++){
if(check(a[i])) set(a[i]);
};
};



// script initiates on page load.

this.addEvent = function(obj,type,fn){
if(obj.attachEvent){
obj['e'+type+fn] = fn;
obj[type+fn] = function(){obj['e'+type+fn](window.event );}
obj.attachEvent('on'+type, obj[type+fn]);
} else {
obj.addEventListener(type,fn,false);
};
};
addEvent(window,"load",blankwin);
</script>
Đơn giản hơn, chúng ta đặt đoạn javascript trên vào một file nguồn như thế này.

<script src='http://huynhatha.250free.com/js/blankwindow.js' type='text/javascript'/>

Lưu ý bạn nên tải về file blankwindow.js và upload lên free hosting để sử dụng cho website/webblog của bạn nhé.

No comments:

Post a Comment

Comment của bạn sẽ bị xóa nếu:
- Bạn chèn thẻ liên kết (a tag).
- Nội dung gây khó chịu cho các bạn đọc khác.
- Thắc mắc không liên quan bài viết, hãy post tại Hỏi đáp.
- P/s : Comment chê Admin xấu trai cũng sẽ bị xóa không thương tiếc :D