当前位置:js代码下载 >> 新闻中心 >> qq强制聊天知识 >> 浏览文章
qq强制聊天知识

未央教你如何写移动适配规则

标签:未央,教你,如何,移动,规则 发布时间:2024年03月29日 点击21

我依然经常在群里或其它地方看到、听到有人说辽宁人事考试信息网,移动适配规则到底怎么写?为什么我的适配失败?当然适配失败情况有多种,其实许多照旧由于适配规则没写对。今天我就来说一说适配规则的写法。

说到移动适配,首先必须要提到的一个概念就是“正则表达式”,所以上面说,对于懂点技术的人来说,可能都懂点正则表达式,对于不懂的人来说,正则表达式就是个很复杂的东西(其实对于懂的人来说也很复杂),但很庆幸的是,移动适配所必要了解的正则表达式知识很简单。

对于不懂正则表达式的人来说,可能不知道这是个什么东西,但你应该知道另一个概念叫“通配符”,通配符大家应该都了解,比如中学时先生就教我们说,你在windows搜索时,使用“*.jpg”就是搜索所有jpg的图片,由于星号“*”透露表现匹配任意个字符南宁印刷,如今暂且不说通配符和正则表达式的区别,你只要知道,反正不管通配符或正则表达式都是用来文本匹配的就行了。


正则表达式和通配符一样,不同的字符透露表现不同的含义,比如:

代码说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束



当然还有许多其它的,而且不同的组合体例会匹配出特别很是复杂的文本。

但对于百度移动适配,现实上就是行使正则表达式来替代PC和移动URL中动态可替代的一些参数。

比如:PC页面URL为:www.esmo.cn/baidu3564/1.html,移动页面URL为:m.baidu3564/1.html,其中的数字1就是可替代的动态参数,由于它可能变成2、3、4等又是另外的页面了。所以我们就可以用:www.esmo.cn/baidu3564/(\d+).html,以此来匹配www.esmo.cn/baidu3564/{这里是数字}.html的所有页面。移动页面URL直接用${1},${2},……来透露表现这个链接被替代了多少个参数即可,所以我们该移动页面URL规则为:m.baidu3564/${1}.html

其中\d 就透露表现匹配一个数字,\d+ 因为多了个加号,就透露表现匹配多个数字。


同理,比如:PC页面URL为:www.esmo.cn/baidu3564/a.html,移动页面URL为:m.baidu3564/a.html,其中的字母a就是可替代的动态参数,由于它可能变成b、c、d等又是另外的页面了。所以我们就可以用:www.esmo.cn/baidu3564/([a-zA-Z]+).html,以此来匹配www.esmo.cn/baidu3564/{这里是字母}.html的所有页面。同样,我们该移动页面URL规则照旧为:m.baidu3564/${1}.html

其中[a-zA-Z]就透露表现匹配一个字母,[a-zA-Z]+ 因为多了个加号奥龙驾驶室,就透露表现匹配多个字母。
当然你会想,正则表达式这么复杂,我要碰到很复杂的URL该怎么匹配,其实,百度如今仅仅只支撑简单的几个正则表达式:

a)确定都是数字的,则用 (\d+)透露表现

b)确定都是字母的,则用 ([a-zA-Z]+) 透露表现

c)确定是字母数字混合网站优化,则用 ([a-zA-Z0-9]+) 透露表现

d)确定是字母数字下划线混合,则用 (\w+) 透露表现

只有在pattern的粒度无法用上述a和b情势透露表现时,才用c情势透露表现;

只有在pattern粒度无法用a、b、c透露表现时,则才用d情势透露表现。


假如这4种规则都无法知足你的需求,那很不幸的告诉你,你就只能试用URL适配了。


假如你照旧对移动适配规则写法不太懂,那可以参考百度站长学院的移动适配工具帮助,再看我这篇文章,你应该会有一个深的了解。