站点图标 度崩网-几度崩溃

修复柒比贰b2主题,添加360主动推送代码底部存在乱码的问题[柒比贰美化]

修复柒比贰b2主题,添加360主动推送代码底部存在乱码的问题[柒比贰美化]
为了网站更好的优化,很多站长都会选择添加主动推送代码。本站也不例外。
但是在添加360主动推动代码时。发现底部存在乱码问题。仔细查看360提供的代码即可发现问题。
以下为360主动推送代码
<script>
(function(){
var src = "https://jspassport.ssl.qhimg.com/11.0.1.js?你的KEY";
document.write('<script src="' + src + '" id="sozz"></script>');
})();
</script>
本代码在js语句中。重写引入了360的js文件
https://jspassport.ssl.qhimg.com/11.0.1.js?你的KEY
但是柒比贰和b2主题在处理时。直接识别了js语句中的结束标签。所以导致后面的括号等。当做了html内容。直接输出到了页面。导致乱码。
本站处理的逻辑是不通过js代码记载文件,而是直接引入改文件。
首先访问上方的src,会得到一段代码块:
document.write('<script charset="utf-8" src="https://s.ssl.qhres.com/ssl/ab77b6ea7f3fbf79.js"></script>')
该代码块有真实的js地址,故复制该js地址,获取js内容,然后将里面获取360key的地方直接改为你的KEY,获取sozz的地方改为原始复制的360主动推送代码的src地址
原始代码如下:
(function(e){function t(e){var t=location.href,n=t.split("").reverse(),r=e.split(""),i=[];for(var s=0,o=16;s<o;s++)i.push(r[s]+(n[s]||""));return i.join("")}var n=/([http|https]://[a-zA-Z0-9_.]+.so.com)/gi,r=e.location.href;if(r&&!n.test(r)&&window.navigator.appName){var i="//s.360.cn/so/zz.gif",s=document.getElementById("sozz"),o=s.src.split("?")[1],u=t(o),a=new Image;r&&(i+="?url="+encodeURIComponent(r)),o&&(i+="&sid="+o),u&&(i+="&token="+u),o&&(a.src=i)}})(window);

修改后代码如下:

(function(e){function t(e){var t=location.href,n=t.split("").reverse(),r=e.split(""),i=[];for(var s=0,o=16;s<o;s++)i.push(r[s]+(n[s]||""));return i.join("")}var n=/([http|https]://[a-zA-Z0-9_.]+.so.com)/gi,r=e.location.href;if(r&&!n.test(r)&&window.navigator.appName){var i="//s.360.cn/so/zz.gif",s="https://jspassport.ssl.qhimg.com/11.0.1.js?你的KEY",o="你的KEY",u=t(o),a=new Image;r&&(i+="?url="+encodeURIComponent(r)),o&&(i+="&sid="+o),u&&(i+="&token="+u),o&&(a.src=i)}})(window);
该代码最后也没有解决问题,时间有限没有继续研究。所以仅供参考。欢迎大家反馈有效的方法。