Sunday, July 25, 2010

Những cách viết hay JavaScript trong SharePoint - Phần 2

2) Overload / overwrite

Chúng ta rất thường sử dụng các sự kiện của window và document, ví dụ như window.onload, document.onload... Đôi khi chúng ta viết riêng thì code chúng ta chạy rất tốt, nhưng khi nhúng vào 1 web site có sẵn thì chúng không chạy được hoặc một số chức năng có sẵn của web đó không chạy được, chúng ta không biết vì sao...

Thật ra khi chúng ta viết code JavaScript, độ ưu tiên là code cuối cùng được khai báo trong trình duyệt, do vậy để code có sẵn của web chạy được và code của chúng ta cũng chạy được chúng ta nên viết như sau:

1) backup lại hàm đã có
2) kiểm tra có tồn tại hay không
3) overwrite lại sự kiện đó
4) gọi lại các hàm đã backup và hàm của chúng ta

Ví dụ: trong ví dụ này chúng ta giả sữ trong window.onload chúng ta cần làm một số việc và để trong hàm wOnload.


function wOnload()
{
//TODO: làm cái gì đó đi cho vui cửa vui nhà
}

var oldF = window.onload; //backup lại hàm cũ nha
if (oldF && typeof oldF == "function")
{
//Nếu có ai đó đã định nghĩa sẵn window.onload thì nó sẽ nhảy vào đây
window.onload = function(e) {
oldF(); // Gọi hàm người ta cho nó thực thi
wOnload(); // rồi thực thi hàm của mình
}
}
else {
//Nếu không có ai định nghĩa thì quất hàm của mình luôn
window.onload = wOnload;
}

No comments: