我有一个页面,每隔x秒用
重新加载一次<meta http-equiv="refresh" content="60"/>
标签。页面上有一个谷歌地图,我需要记住刷新之间的缩放级别(和中心)。
这就是我所拥有的:
function initialize() {
// initialize the map
var latlng = new google.maps.LatLng(0, 0);
var myOptions = {
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
myMarkers = new Array();
updateMarkers();
cen = new google.maps.LatLng(-12.461334, 130.841904);
map.setCenter(cen);
zoomLevel = document.getElementById("zoomLevel").value;
map.setZoom(parseInt(zoomLevel));
google.maps.event.addListener(map, 'zoom_changed', function() {
str = map.getZoom() + '';
document.getElementById("zoomLevel").value = str;
});
}
所以,我有一个事件监听器,它会在每次缩放变化后更新隐藏值zoomLevel。在每次重新加载时,应从该值读取缩放级别。
<input type="hidden" name="zoomLevel" id="zoomLevel" value="4" />
但每次刷新后,缩放级别设置为4.我做错了什么?
感谢。
答案 0 :(得分:1)
元刷新不是回发,它是页面的实际干净请求。您有两种方法可以解决此问题:
setTimeout
并调用form.submit
(如果您使用的是asp.net,则构建__doPostBack
链接)。这样您就可以发出实际的帖子请求。答案 1 :(得分:0)
我相信解决方案就在您的指尖。实际上你根本不需要回发。只需安排每60秒调用一次initialize()函数。所以 -
你有。
答案 2 :(得分:0)
也许您可以使用Cookie来记住您网页的状态。