2009-01-15 8 views
14

Tôi có một trang web cho phép người dùng thực hiện các hoạt động khác nhau để thay đổi cơ sở dữ liệu. Ngoài ra, ứng dụng web này cần phải theo dõi các trường khác nhau trong cơ sở dữ liệu mà tiếp tục thay đổi theo thời gian. Làm mới trang mỗi vài giây một cách tốt nhất có thể để thực hiện điều này là gì? Ví dụ: nếu có danh sách dài trên trang yêu cầu cuộn, thật khó để xem danh sách kể từ khi trang tiếp tục đặt lại do làm mới. Tôi biết, có nhiều cách để giữ lại vị trí của cuộn giấy. Nhưng, tôi có thể sử dụng thứ gì đó hiệu quả hơn không?Trang web làm mới tự động

Trả lời

7

Sử dụng AJAX với bộ hẹn giờ.Điều này, chúng tôi có thể làm mới phần cụ thể trong trang.

2

Câu trả lời ngắn gọn là KHÔNG. YOu có thể sử dụng ajax để cập nhật các thành phần cần thiết. Điều này làm giảm thời gian tải và giữ cho trang của bạn không thể đặt lại.

0

Điều đó nghe như một chức năng phù hợp hơn trong ứng dụng Flash hoặc Silverlight. Sử dụng giải pháp AJAX phức tạp có thể hiệu quả hơn một chút so với thực tế của bạn, nhưng thực tế là các trang web tạo ra một phương tiện khủng khiếp cho nội dung trực tiếp.

+1

các trang web tạo môi trường tuyệt vời cho nội dung trực tiếp. sao chổi, ajax, vv – mainsocial

1

Nếu không đi sâu vào quá nhiều chi tiết, nói chung bạn có thể muốn xem xét tạo HTML động của mình, bằng cách sử dụng Javascript theo kiểu Ajax. Đó là một thách thức đáng kể để làm đúng, nhưng đó là cách đúng đắn để đi từ góc nhìn kinh nghiệm người dùng.

Kiểm tra Yahoo user-interface library để được hướng dẫn và hỗ trợ - điều này giúp mọi thứ trở nên dễ dàng hơn là cố gắng làm mọi thứ bằng tay.

+0

Tôi sẽ không sử dụng bất cứ điều gì với từ "Yahoo" trong đó nữa. ;) –

2

Tôi nghĩ rằng bạn cần một cái gì đó tương tự như Reverse AJAX bây giờ được gọi là Comet. Đó là máy chủ đẩy dữ liệu đến máy khách thay vì trình duyệt bỏ phiếu dữ liệu từ máy chủ/cơ sở dữ liệu. http://en.wikipedia.org/wiki/Comet_(programming) có phần giới thiệu tốt. Đã có nhiều khung công tác (ví dụ: DWR, ICEFaces) hỗ trợ mẫu này.

34

Nơi nó dưới thẻ đầu

<meta http-equiv="refresh" content="5"> 

này sẽ làm mới trang mỗi sau 5 giây.

Đối với tùy chọn khác tham khảo link text

6

Nhiệm vụ này là rất dễ dàng sử dụng sau mã trong phần tiêu đề html

<head> <meta http-equiv="refresh" content="30" /> </head> 

Nó sẽ làm mới trang của bạn sau 30 giây.

0

Tôi nghĩ rằng sau đây là giải pháp tốt với lệnh làm mới trong tiêu đề.

Khi bạn gọi hàm httpSuccess cố gắng sử dụng này:

server.httpSuccess("text/html","Refresh: 30\r\n"); 
0

nếu bạn muốn autorefresh toàn bộ trang, sử dụng thẻ html meta trong trang header.but nó tốt hơn để autoresh phần nhất định của trang sử dụng AJAX để tránh độ co giãn của thời gian tải