前提:
由于我本地为了快速打开群晖 使用了360的快捷键打开qc
以前qc可以自己识别走本地ip还是qc 后来它不识别 直接走qc到时本地速度慢
要求:需要一个域名和一台服务器
思路:用域名做个中转网站识 别能不能打开本地ip 不能则使用qc链接
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>群晖中转站</title>
</head>
<script <span class="html-attribute-name">src</span>="<a class="html-attribute-value html-resource-link" href="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.1.1/jquery.min.js" target="_blank" rel="noreferrer noopener">https://s3.pstatp.com/cdn/expire-1-M/jquery/3.1.1/jquery.min.js</a>"><span class="html-tag" style="font-size: medium; white-space: pre-wrap;"></script></span>
<body>
<P>正在跳转识别...</P>
<script>
$(document).ready(function () {
var dsmuel1 = "//192.168.7.104";//群晖局域网ip
var dsmuel2 = "//qcid.quickconnect.cn/";//群晖qc
$.ajax({
type: 'get',
cache: false,//true的话会读缓存,第二次的时候得到的是上次访问的结果,而不是重新到服务器获取。false的话会在url后面加一个时间缀,让它跑到服务器获取结果。cache只有GET方式的时候有效。
url: dsmuel1, //url地址加https防止https时无法打开
dataType: "jsonp", //跨域采用jsonp方式
processData: false,//processData 默认为true,当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data,false会序列化。
timeout:3000,//设置超时 ‘0’:为永不超时,当请求超时后会进入error,可以在error中做超时的处理。
complete: function (data) {
//data.status 请求url地址的状态码,以此来判断url是否有效可以访问。
if (data.status==200) {
console.log("目标有效,使用局域网。。");
window.location.replace("http:"+dsmuel1+':5000/');
} else {
console.log("目标无效,切换qc服务!");
window.location.replace(dsmuel2);
}
},
error:function (){
}
});
});
</script>
</body>
</html>