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!
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