我有一个页面,其中包含指向其他网站的链接。当用户点击链接时,它会通过redirect.php将其重定向到所需的站点。
我想要获得的是: 在我的重定向页面中:
<meta http-equiv="refresh" content="3;URL=<?php echo $post_url ?>" />
为了让用户在redirect.php中停留3秒钟。我想让用户在这个页面中有两个选项:
我更喜欢PHP,但我相信它需要jquery,我想知道是否有人可以将我(有趣的是)重定向到一个带有免费代码的工作示例,无论是jquery,JS还是PHP。
感谢。
答案 0 :(得分:2)
而不是<meta http-equiv="refresh"... >
使用Javascript重定向,使用jQuery可能看起来像这样:
$(function(){
window.redirectTimeout = setTimeout(function(){ // set a redirect timeout of 3 seconds
window.location.href = '<?php echo $post_url ?>';
}, 3000);
$('#cancelBtn').on('click', function(){ // assuming #cancelBtn is used to cancel redirection
clearTimeout(window.redirectTimeout);
});
});
要直接转到其他网站,只需在页面中使用简单的链接:
<a href="<?php echo $post_url ?>">Go there now!</a>
答案 1 :(得分:1)
首先摆脱元刷新 - 它不可取消。
则...
<强> HTML 强>
<a id="go" href="http://.....">Go</a>
<a id="hold">Hold</a>
<强>的Javascript 强>
$(window).load(function() {
//javascript equivalent of meta refresh
var t = setTimeout(function() {
$("#go").click();
}, 3000);
//cancel the timeout if hold button is clicked
$("#hold").on('click', function() {
clearTimeout(t);
});
});
在这种情况下,最好做一切响应窗口的onload事件,因为它会让用户在重定向触发之前有更好的机会阅读内容。
之前,文档的ready事件会在之前触发 - 在所有内容加载之前另外,使用此解决方案,重定向网址定义一次,而不是两次。