今天做了一个网站,使用的thinkphp5框架,遇到一个问题pc端和手机的url不一样。如下;
<!--pc端-->
http://www.12564.cn/pc/index/index.shtml?name=A265
<!--手机端-->
http://www.12564.cn/mobile/index/index.shtml?name=A265
客户说他经常会给别人发一个搜索url,但是不想手机和电脑分别搜索一个发给别人,太麻烦。让我想办法解决。没办法金主爸爸,想办法解决。
解决思路:用js获取url参数,然后再识别浏览端重新拼接url,上代码。
<!-- 搜索url转手机端 --> <script language="javascript"> function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则 if(r!=null)return unescape(r[2]); return null; } if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i))) { if(GetQueryString("name") == null){ //判断,如果url后的name值为空,就直接去首页 window.location.href = '/mobile/'; }else{ //否则拼接手机url+搜索name值 window.location.href = '/mobile/index/index.shtml?name=' + GetQueryString("name"); } } </script>
以上主要做个笔记,如果你也遇到了相同的问题,可以参考试试看。
如果内容有帮助,就点个赞吧!