我要在特定时间刷新页面。从http-equiv="refresh" content="30"页面是刷新非常30秒,但我希望页面是在特定的时间刷新.喜欢页面是每天1:30刷新.
http-equiv="refresh" content="30"
oipij1gg1#
你可以用javascript创建一个倒计时器,当页面被加载到浏览器中时,它就开始计时。将此添加到您的页面:
<script language="javascript" type="text/javascript"> setTimeout("window.location = 'yourpage.aspx'", <%= CalcMilisecsToNext130pm() %>); </script>
你可能会在内联上破解一些东西来获得直到下午1:30的毫秒数。或者在你的代码背后创建一个简单的方法...
lrpiutwd2#
DateTime targetDate = ...; long secondsTilRefresh = Math.Floor((targetDate - DateTime.Now).TotalSeconds);
然后,使用该值填充 metarefresh标签。当然,他们的浏览器可能不会保持打开那么长时间,和/或浏览器可能不支持大值。
gblwokeq3#
刷新页面意味着向服务器发送请求。您可以编写一个Windows服务,在每天1:30向您的页面发送请求。
jum4pzuy4#
我建议你在页面加载时使用JavaScript来计算现在和下次加载页面之间的时间差。然后设置一个超时(window.setInterval)。然后你可以将JavaScript“位置”设置为相同的页面,并在预定的时间加载页面。Jakob抢先了我一步!:)
q1qsirdb5#
服务器时间把这个:
<% DateTime dte = DateTime.Now; %> <meta http-equiv="refresh" content="<%=86400 - (((dte.Hour * 60) + dte.Minute) * 60) %>">
对于基于客户端的时间,请使用javascript setTimeout方法。
cgfeq70w6#
您可以使用类似以下命令,获取当前日期与明天日期之间小时数差,并转换为毫秒,然后使用settime out
var todayDateTime = new Date(); var tommorowDateTimeAtSixAM = new Date(todayDateTime.getFullYear(), todayDateTime.getMonth(), todayDateTime.getDate(), 6, 0, 0); var hoursdifference = Math.abs(tommorowDateTimeAtSixAM .getTime()-todayDateTime.getTime())/3600000; var milliSecondsDifference = hoursdifference * 60 * 60 *1000; setTimeout(function(){ window.location.reload(); }, milliSecondsDifference);
6条答案
按热度按时间oipij1gg1#
你可以用javascript创建一个倒计时器,当页面被加载到浏览器中时,它就开始计时。
将此添加到您的页面:
你可能会在内联上破解一些东西来获得直到下午1:30的毫秒数。或者在你的代码背后创建一个简单的方法...
lrpiutwd2#
然后,使用该值填充 metarefresh标签。当然,他们的浏览器可能不会保持打开那么长时间,和/或浏览器可能不支持大值。
gblwokeq3#
刷新页面意味着向服务器发送请求。您可以编写一个Windows服务,在每天1:30向您的页面发送请求。
jum4pzuy4#
我建议你在页面加载时使用JavaScript来计算现在和下次加载页面之间的时间差。然后设置一个超时(window.setInterval)。然后你可以将JavaScript“位置”设置为相同的页面,并在预定的时间加载页面。
Jakob抢先了我一步!:)
q1qsirdb5#
服务器时间把这个:
对于基于客户端的时间,请使用javascript setTimeout方法。
cgfeq70w6#
您可以使用类似以下命令,获取当前日期与明天日期之间小时数差,并转换为毫秒,然后使用settime out