以分钟为单位的元标记刷新

3
<meta name="redirection" http-equiv="refresh" 
      content="2;url=http://www.google.com">   

2秒后会重定向到google.com。如果要在2分钟后进行重定向,只需更改content="120"content="1200"

问题:
数据库中的数字值是按分钟配置的(30分钟),以秒为单位为(30*60=1800)。如何进行这个计算并动态设置meta标签的内容为1800

我尝试过使用jquery。

var value = "1800;http://wwww.google.com";  
$('meta[name="redirection"]').attr("content", value);  

它不起作用了


https://dev59.com/PHE85IYBdhLWcg3w3Xr6 - user180100
您可以在服务器端动态创建标签。 - Ramesh
1
投票关闭,因为这不是一个真正的问题,要么应该在服务器端完成(在这种情况下,此问题没有提供任何必要的细节),要么应该使用JavaScript完成(在这种情况下,RC的链接有答案)。 - David Wolever
请告诉我,在服务器端如何实现这个。 - JAB
2个回答

1

可以在客户端创建元标记,例如像这样:

var foo = document.createElement('meta'), refreshtime = 1800;
foo.setAttribute('http-equiv','refresh');
foo.setAttribute('content',refreshTime+';url=http://www.google.com');
document.getElementsByTagName('head')[0].appendChild(foo);

或者使用jQuery:

$('<meta http-equiv="refresh" content="'+refreshtime+
     ';url=http://www.google.com"/>')
 .appendTo($('head'));​

不错的方法,它确实在头部创建了元标签,但重定向没有发生...有什么想法吗? - JAB
如果您正在使用Iframe加载页面,则可能会受到安全限制的限制。请参见http://jsfiddle.net/KooiInc/LXzVU/以获取一个工作示例。 - KooiInc
appendTo($('head';)) 包含一个 ;。此外,jquery 的路径 (src="jquery-1.7.1.min.js) 不是完整路径。 - KooiInc
另外,您应该使用完整的URL进行重定向:url=http://yahoo.com - KooiInc

1
<html>    
<head>  
<script type="text/javascript">
var refreshTime= 2*2;
    var foo = document.write('<meta http-equiv="refresh" content="'+refreshTime+';url=http://www.google.com">');
</script>

</head>

<body>

Meta tag testing

</body>

</html>

刚刚发现,也可以使用document.write来完成这个操作


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接