我正在构建一个状态页面,它应该定期刷新。
因此,我在<head>部分进行了http-equiv刷新,以便每分钟刷新一次页面:
<meta http-equiv="Refresh" id="refresh" content="60"/>但是,对于支持JavaScript的浏览器,我想发送一个Ajax请求来检查页面是否应该刷新。因此,我想禁用JavaScript中的http-equiv刷新(因为Ajax将完成这项工作)。
我尝试使用JavaScript/PrototypeJs删除标记,但不起作用:
$('refresh').remove();浏览器似乎会跟踪该计时器,而不负责DOM更新。
有什么想法吗?
发布于 2009-05-11 20:46:07
不是很确定,但也许:
<noscript>
<meta http-equiv="Refresh" id="refresh" content="60"/>
</noscript>发布于 2009-05-11 20:45:56
这将更好地在服务器上处理。有许多工具可以让您可靠地检查浏览器是否支持JS (想到的就是BrowserHawk),或者您可以检查浏览器对象的SupportsECMAScript (在ASP.NET中)属性,如果浏览器支持JS,则可以编写不同的代码。
发布于 2009-05-11 20:47:10
我不认为有一种方法可以禁用http-equiv刷新。
状态页面是应用程序的第一个页面吗?如果没有,那么为什么不在请求状态页面之前预先获得客户端的功能呢?如果是,那么您可能必须注入一个没有UI的页面,该页面获取浏览器的功能并立即回发到实际状态页面。所有这些都假设您不愿意使用HTTP标头中的用户代理字符串来获得浏览器功能。
https://stackoverflow.com/questions/849973
复制相似问题