
简单而言就是检测到在qq中打开网页后显示如上页面,跳转到另一个网站。步骤很简单:
- 判断当前打卡页面的是不是qq或者微信
- 显示倒计时,倒计时结束后跳转到其他页面
第一步:
检测qq或者微信比较简单,直接用 php 判断user_agent即可,以下为php代码
function inQQ()
{
return strpos($_SERVER['HTTP_USER_AGENT'], 'QQ/') !== false;
}
function inWX()
{
return strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false;
}
第二步:
检测到QQ或者微信打开之后,就需要输出倒计时页面了,页面使用简单的html,js即可实现
这里提供给大家一个倒计时的svg图片,只需要使用js设置定时器每隔一秒动态更改倒计时秒数,和倒计时条带宽度即可

<svg class="alert-circle" width="234" height="234" viewBox="0 0 234 234">
<circle cx="117" cy="117" r="108" fill="#FFF" stroke="#43AEFA" stroke-width="17"></circle>
<circle id="js-sec-circle" class="alert-sec-circle" cx="117" cy="117" r="108" fill="transparent" stroke="#F4F1F1" stroke-width="18" transform="rotate(-90 117 117)"></circle>
<text class="alert-sec-unit" x="104" y="172" fill="#BDBDBD">秒</text>
</svg>
js代码如下:
setInterval(function() {
if (0 == t){
location.href="减到0跳转到哪里";
}else {
t -= 1,
document.getElementById("js-sec-text").innerHTML = t;/*设置倒计时秒数*/
var e = Math.round(t / 10 * 735);/* 计算倒计时圆形条带条带宽度 */
n.style.strokeDashoffset = e - 735 /*设置条带宽度*/
}},970);/* 倒计时执行时间间隔,这里设置的970ms,比一秒快了一点~~ */
整体的php代码架构如下,我们命名其为fanghong.php
:
<?php
if (inQQ() or inWX()):
?>
<html>
倒计时跳转html
</html>
<?php
die();
endif;
?>
如何使用呢?
直接将 fanghong.php
和你的网站首页 index.php
放在一起,然后在index.php
顶部 include "fanghong.php"
即可。
以上就是QQ防红跳转(倒计时版)的基本原理,感兴趣的伙伴欢迎评论留言...
懒人版直接使用
为了方便各位用户,站长写好了一个fanghong.php
,做了分辨率自适应,添加了bing壁纸,一言等美化可直接使用,5.66交个朋友