首页 > 代码库 > 解决微信浏览器访问手机页面:您访问的页面无手机页面,是否进一步访问电脑版?

解决微信浏览器访问手机页面:您访问的页面无手机页面,是否进一步访问电脑版?

dz论坛总是报502没办法了,发到这里备份。

这个问题困扰楼主很长时间了,具体原因因为不懂php没去研究源码,所以只能用js解决了。
也就是大家常见的通过修改source\language\lang_message.php里的not_in_mobile
强制刷新页面,具体修改方法是将提示信息改成 

‘<meta http-equiv="refresh" content="5" />‘

但是这个问题在微信浏览器下是不完全好使的,在朋友圈分享以后这个标签是不自动刷新的,这就需要改一下另一个文件了
方法:
    1、template(此处是你自己的模板的目录名)\touch\common\showmessage.htm 这个文件也就是实际显示‘您访问的页面无手机页面,是否进一步访问电脑版?’的页面,在最后加上下面js脚本

<script type="text/javascript">
window.location.href=http://www.mamicode.com/updateUrl(window.location.href);
function updateUrl(url,key){
        var key= (key || ‘t‘) +‘=‘;  //默认是"t"
        var reg=new RegExp(key+‘\\d+‘);  //正则:t=1472286066028
        var timestamp=+new Date();
        if(url.indexOf(key)>-1){ //有时间戳,直接更新
            return url.replace(reg,key+timestamp);
        }else{  //没有时间戳,加上时间戳
            if(url.indexOf(‘\?‘)>-1){
                var urlArr=url.split(‘\?‘);
                if(urlArr[1]){
                    return urlArr[0]+‘?‘+key+timestamp+‘&‘+urlArr[1];
                }else{
                    return urlArr[0]+‘?‘+key+timestamp;
                }
            }else{
                if(url.indexOf(‘#‘)>-1){
                    return url.split(‘#‘)[0]+‘?‘+key+timestamp+location.hash;
                }else{
                    return url+‘?‘+key+timestamp;
                }
            }
        }
    }
</script>

原理是加上了时间戳来强制微信浏览器刷新本页面,
这样在朋友圈第一次点击也会刷新提示页面了,这也是个不是办法的办法,
希望知道问题根源的同志分享解决办法。

解决微信浏览器访问手机页面:您访问的页面无手机页面,是否进一步访问电脑版?