Pham_loi
Chức vụ: 09:55:46, 23-09-2016 |
Một trang web dữ liệu động là khi chúng ta không cần load trang thì dữ liệu vẫn được Update.
Ví dụ như ở WKI, khi có thông báo hay tin nhắn mới, nó sẽ hiển thị và chuông thông báo vang lên mà không cần phải load trang.
Vậy làm cách nào?
Đơn giản ta chỉ cần sử dụng function load trong jQuery là đủ.
Giả sử tôi đặt code sau ở Bottom site 0
Rồi cho load site_123 vào cái id="content"
<script type="text/javascript">
$(document).ready( function() {
setInterval(function() { $('#content').load('site_123.xhtml'); }, 1000);
});
</script>
Copy code
$(document).ready( function() {
setInterval(function() { $('#content').load('site_123.xhtml'); }, 1000);
});
</script>
Copy code
Như vậy cứ mỗi 1 giây thì site 123 sẽ được hiển thị trên site 0.
Hay nói cách khác thì toàn bộ Code trong site 123 sẽ hiển thị trên site 0.
Việc cần làm bây giờ là vào site 123 post những code cần thiết.
Giả sử như ở site 0 tôi có 1 name="tinnhan" được đặt trên id="content"
Lúc này site 123 tôi post 1 code
<script language="javascript"> document.getElementsByName('tinnhan')[0.innerHTML=':info-pmnew:%n%:: :/info:'; </script>
Copy code
Copy code
Thì hễ khi có tin nhắn mới thì tại name="tinnhan" sẽ hiện lên số tin nhắn mới.
Như vậy dữ diệu vẫn cập nhật mặc dù không cần load trang.
Bạn có thể áp dụng cho nhiều mục đích khác nữa.
Lưu ý:
- Ở site 123 hay gọi là site load ta ko thể sử dụng document.write vì nó sẽ gây ra lỗi trắng trang
- Trong 1 số trường hợp chỉ sử dụng được tối đa 3 tag <script>, các tag tiếp theo sẽ ko có tác dụng trên site đích (site 0) nữa. Thế nhưng với userstats hay forumlist với l=50, tức là 50 tag <script> thì nó vẫn hoạt động ngon. Điều này mình cũng chưa nắm rõ được, ae áp dụng thì để ý nhé.
Chúc các bạn thành công!
- Việc sử dụng quá nhiều load sẽ dẫn tới treo trình duyệt nếu để lâu.
WapkaInternational.Com
: 0 ♥
Trực Tuyến:
Khách: 1