360搜索: 自动收录功能 js 提交代码报错问题
栏目: JavaScript · 发布时间: 5年前
内容简介:360搜索: 自动收录功能 js 提交代码报错问题由于360 自动收录默认的 js 代码使用
360搜索: 自动收录功能 js 提交代码报错问题
由于360 自动收录默认的 js 代码使用 document.write
, 所以在 chrome 会直接报错。修改成 document.body.appendChild
<!-- <a href="https://www.miaoroom.com/tag/360" data-toggle="tooltip" title="查看更多关于 360 的文章" target="_blank">360</a> 自动收录 --> <script> (function () { var s3 = document.createElement('script'); s3.id = 'sozz'; var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { s3.src = 'https://jspassport.ssl.qhimg.com/11.0.1.js?YOUR_KEY'; } else { s3.src = 'http://js.passport.qihucdn.com/11.0.1.js?YOUR_KEY'; } document.body.appendChild(s3); })(); </script>
原因参考:避免三方 js 文件被重复加载
事情还没有完,其加载的 js 里是这样一段代码,还是包含了 document.write
...
document.write('<script charset="utf-8" src="https://s.ssl.qhres.com/ssl/ab77b6ea7f3fbf79.js"></script>')
360 的这提交代码真是不行啊。。。
我手动获取了 ab77b6ea7f3fbf79.js
的代码,如下
(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.<a href="https://www.miaoroom.com/tag/360" data-toggle="tooltip" title="查看更多关于 360 的文章" target="_blank">360</a>.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);
逻辑很简单,就是加载一个 gif 图片,后面缀上当前 URL 和网站标识 (第一端代码里的 YOUR\_KEY)
由于 360 自动收录默认的 js 代码使用 document.write
, 所以在 chrome 会直接报错。解决方法
所以,解决方法就是把下面这段代码里的 YOUR\_KEY
替换成自己的,然后贴到网页里就可以了。
<script> (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",o="YOUR_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); </script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- AAAI 2019 滴滴被收录论文出炉
- 本专栏系列文章已经收录到 GitBook
- 浅谈新站上线快速收录心得及部分优化心得
- 常用的 Go 框架、库和软件中文收录大全
- ICML 2019 论文收录 TOP 榜单:清华领衔七家国内高校、企业登上榜单
- CVPR 2019 | 37篇!Facebook今年被CVPR收录的论文都说了啥?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++数据结构与算法
[美]乔兹德克(Adam Drozdek) / 徐丹、吴伟敏 / 清华大学出版社 / 2014-10-1 / 63.00元
本书全面系统地介绍了数据结构,并以C++语言实现相关的算法。书中主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂度分析、链表、栈、队列、递归、二叉树、图、排序和散列。书中还清晰地阐述了同类教材中较少提到的内存管理、数据压缩和字符串匹配等主题。书中包含大量的示例分析和图形,便于读者进一步理解和巩固所学的知识。一起来看看 《C++数据结构与算法》 这本书的介绍吧!