网站被UC浏览器转码怎么办,夸克浏览器转码怎么办,百度浏览器转码怎么办,解决所有浏览器转码。

小说站防UC浏览器,夸克浏览器转码,百度浏览器转码,各种浏览器(阅读模式、畅读模式)转码解决办法


看到一个小说站是这样防百度、UC、夸克转码的,他的下一章 href 是空的“ <a id="next" href="">下一章</a>”。然后利用js的滚动事件修改 href 属性。正常浏览时必然会滚动页面,滚动页面就触发了修改 hrdf 的事件,对正常浏览是没有任何影响的。(这个站是章节带分页的,百度浏览器转码页显示的全是“第五章(1/3)页、第六章(1/2)页。(2/3)页、(3/3)页无法显示”,百度好像是从目录页直接转码的。)

原理:UC或夸克浏览器转码情况下打开页面时会自动进入转码页面,但下滑加载下一章的时候会出现无法加载下一章的提示,这时就会出现返回源页面的提示。

注:能加载下一章就不会有上面的提示,一只在他的转码页面里。

html代码

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>各种浏览器转码解决办法</title>
 </head>
 <body>
  …………
<a id="next" href="">下一章</a>
  <script type="text/javascript">
  //在html页面声明一下几个变量。
  var shortid = "{?$xxx?}", articleid = "{?$xxx?}",   next_chapterid = "{?$xxx?}" , pageNow = "{?$xxx?}" ,  pageAll = "{?$xxx?}";//xxx填写你自己的ID
  </script>
  <script type="text/javascript" src="/js/xxx.js">></script><!-- xxx就是下面的js代码 -->
 </body>
</html>

js代码如下:

//下一章的url判断
if (pageNow < pageAll) {//下一页判断
    var person = {
        tid: shortid,
        eid: articleid,
        rid: chapterid,
        Nowid: Number(pageNow) + Number(1),
        Allid: pageAll,
        Namepageid: function() {
            return "/" + this.tid + "/" + this.eid + "/" + this.rid + "_" + this.Nowid + ".html"
        }
    }
} else {
    if (next_chapterid !== "") {//下一章判断
        var person = {
            tid: shortid,
            eid: articleid,
            rid: chapterid,
            nextid: next_chapterid,
            Namepageid: function() {
                return "/" + this.tid + "/" + this.eid + "/" + this.nextid + ".html"
            }
        }
    } else {
        var person = {//没有下一章就回目录
            tid: shortid,
            eid: articleid,
            Namepageid: function() {
                return "/" + this.tid + "/" + this.eid + "_1_1/"
            }
        }
    }
}
//下一章的url判断end

//滚动事件修改 href 属性
var url = person.Namepageid();
if (window.screen.availHeight >= document.body.clientHeight) {//没有滚动条直接修改href 属性
    document.getElementById("next").setAttribute("href", ""+ url)
} else {
    var tur = true;
    function scrollBottomOrTop() {
        var clients = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
        var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
        var wholeHeight = document.documentElement.scrollHeight;
        if (clients + scrollTop >= wholeHeight - 500) {//滚动条距离底部500px时执行修改href 属性
            document.getElementById("next").setAttribute("href", ""+ url)
        }
        if (scrollTop >= 300) {//文章内容向上滚动300px时修改href 属性
            document.getElementById("next").setAttribute("href", ""+ url)
        }
        tur = true
    }
    window.onscroll = function() {//500毫秒只执行一次
        if (tur) {
            setTimeout(scrollBottomOrTop, 500);
            tur = false
        } else {}
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值