2012-11-05 37 views
5

Tôi đã tạo một Dòng thời gian SIMILE sử dụng tệp XML làm nguồn dữ liệu được tạo bởi phương thức khi lệnh aspx được gọi. Vấn đề là khi tệp XML được cập nhật Dòng thời gian không được cập nhật và hiển thị dữ liệu của lần tải đầu tiên. Dữ liệu chỉ được làm mới khi tôi đóng trình duyệt và mở lại Ứng dụng web với Dòng thời gian. Ngay cả khi tôi đi đến một trang khác của ứng dụng web của tôi và sau đó quay trở lại trang với Timeline dữ liệu cho thấy ảnh tĩnh giống nhau. Tôi đã xác nhận rằng tệp XML được tạo/cập nhật trước khi tập lệnh tạo Dòng thời gian được gọi và tôi cũng đã thử một số thủ thuật như buộc PageLoad(), thực hiện Response.Redirect() và không sử dụng bộ nhớ cache. Chức năng onLoad() của tôi tương tự với bản gốc được cung cấp bởi widget tiện ích. Mã số:Cách tải lại dữ liệu trong Dòng thời gian Simile

 <head> 
     ... 
     <meta http-equiv="pragma" content="no-cache" /> 
     <META HTTP-EQUIV="Expires" CONTENT="-1"> 
     ... 
     var tl; 
     function onLoad() { 
     $(document).ready(function() { 
      var eventSource1 = new Timeline.DefaultEventSource(0); 
      var theme1 = Timeline.ClassicTheme.create(); 
      theme1.timeline_start = new Date(Date.UTC(2010, 0, 1)); 
      theme1.timeline_stop = new Date(Date.UTC(2014, 0, 1)); 
      var d = theme1.timeline_start; 
      var bandInfos = [ 
      Timeline.createBandInfo({ ... }), 
      Timeline.createBandInfo({ ... }) 
     ]; 
      bandInfos[1].syncWith = 0; 
      bandInfos[1].highlight = true; 

      // create the Timeline 
      tl = Timeline.create(document.getElementById("tl"), bandInfos); 
      var url = '.'; 

      // references in the data 
      tl.loadXML("batch_data.xml", function(xml, url) 
      {eventSource1.loadXML(xml, url); }); 
      tl.finishedEventLoading(); 
     }); 
    } 
    ... 
    </head> 

    <body onload="onLoad();" onresize="onResize();"> 
     <form id="form1" runat="server"> 
       <div id="tl" runat="server"> 
       ... 
       </div> 
     </form> 
    </body> 

Cảm ơn!

+0

Không chắc lý do tại sao bạn quấn tải tài liệu jquery bên trong một hàm mà được viện dẫn trên tải trọng cơ thể. – Lin

Trả lời

0

Đầu mối đầu tiên bạn bao hàm hàm onLoad mã javascript của mình. Cố gắng tạo một nút để cập nhật trang bằng cách sử dụng sự kiện onClick. Nếu bạn muốn nâng cấp lên một khoảng thời gian, bạn có thể sử dụng sự kiện thời gian JavaScript.

Here is a link to a documentation of a timing event examples

tôi đặt ví dụ này đơn giản như posible:

setInterval(function(){alert("Hello")},3000); 

và đây là sintax

window.setInterval("javascript function",milliseconds); 
+0

Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. –

+0

Tôi đặt ví dụ này đơn giản như posible: setInterval (function() {alert ("Hello")}, 3000); và đây là window.setInterval sintax ("hàm javascript", mili giây); –

+0

Vui lòng chỉnh sửa câu trả lời của bạn để bao gồm ví dụ –

Các vấn đề liên quan