<ul id="g60s4"><pre id="g60s4"></pre></ul>
<strong id="g60s4"><nav id="g60s4"></nav></strong>
<ul id="g60s4"></ul>
  • <tr id="g60s4"></tr>
  • 
    
  • 或者

    分享一下寫移動(dòng)適配規(guī)則的技巧

    作者:長瘦不老i 瀏覽:265 發(fā)布時(shí)間:2018-04-03
    分享 評(píng)論 0

      經(jīng)常看到有人提問說,移動(dòng)適配規(guī)則到底怎么寫?為什么我的適配失敗?當(dāng)然適配失敗情況有多種,其實(shí)很多還是因?yàn)檫m配規(guī)則沒寫對(duì)。今天我就來說一說適配規(guī)則的寫法。


      說到移動(dòng)適配,首先必須要提到的一個(gè)概念就是“正則表達(dá)式”,所以上面說,對(duì)于懂點(diǎn)技術(shù)的人來說,可能都懂點(diǎn)正則表達(dá)式,對(duì)于不懂的人來說,正則表達(dá)式就是個(gè)很復(fù)雜的東西(其實(shí)對(duì)于懂的人來說也很復(fù)雜),但很慶幸的是,移動(dòng)適配所需要了解的正則表達(dá)式知識(shí)很簡單。


      對(duì)于不懂正則表達(dá)式的人來說,可能不知道這是個(gè)什么東西,但你應(yīng)該知道另一個(gè)概念叫“通配符”,通配符大家應(yīng)該都了解,比如中學(xué)時(shí)老師就教我們說,你在windows搜索時(shí),使用“*.jpg”就是搜索所有jpg的圖片,因?yàn)樾翘?hào)“*”表示匹配任意個(gè)字符,現(xiàn)在暫且不說通配符和正則表達(dá)式的區(qū)別,你只要知道,反正不管通配符或正則表達(dá)式都是用來文本匹配的就行了。


      正則表達(dá)式和通配符一樣,不同的字符表示不同的含義,比如:


      代碼說明


      .匹配除換行符以外的任意字符


      \w匹配字母或數(shù)字或下劃線或漢字


      \s匹配任意的空白符


      \d匹配數(shù)字


      \b匹配單詞的開始或結(jié)束


      ^匹配字符串的開始


      $匹配字符串的結(jié)束


      當(dāng)然還有很多其它的,而且不同的組合方式會(huì)匹配出非常復(fù)雜的文本。


      但對(duì)于百度移動(dòng)適配,實(shí)際上就是利用正則表達(dá)式來替換PC和移動(dòng)URL中動(dòng)態(tài)可替換的一些參數(shù)。


      比如:PC頁面URL為:www.baidu.com/1.html,移動(dòng)頁面URL為:m.baidu.com/1.html,其中的數(shù)字1就是可替換的動(dòng)態(tài)參數(shù),因?yàn)樗赡茏兂?、3、4等又是另外的頁面了。所以我們就可以用:www.baidu.com/(\d+).html,以此來匹配www.baidu.com/{這里是數(shù)字}.html的所有頁面。移動(dòng)頁面URL直接用${1},${2},……來表示這個(gè)鏈接被替換了多少個(gè)參數(shù)即可,所以我們?cè)撘苿?dòng)頁面URL規(guī)則為:m.baidu.com/${1}.html


      其中\(zhòng)d 就表示匹配一個(gè)數(shù)字,\d+ 由于多了個(gè)加號(hào),就表示匹配多個(gè)數(shù)字。


      同理,比如:PC頁面URL為:www.baidu.com/a.html,移動(dòng)頁面URL為:m.baidu.com/a.html,其中的字母a就是可替換的動(dòng)態(tài)參數(shù),因?yàn)樗赡茏兂蒪、c、d等又是另外的頁面了。所以我們就可以用:www.baidu.com/([a-zA-Z]+).html,以此來匹配www.baidu.com/{這里是字母}.html的所有頁面。同樣,我們?cè)撘苿?dòng)頁面URL規(guī)則還是為:m.baidu.com/${1}.html


      其中[a-zA-Z]就表示匹配一個(gè)字母,[a-zA-Z]+ 由于多了個(gè)加號(hào),就表示匹配多個(gè)字母。


      當(dāng)然你會(huì)想,正則表達(dá)式這么復(fù)雜,我要遇到很復(fù)雜的URL該怎么匹配,其實(shí),百度現(xiàn)在僅僅只支持簡單的幾個(gè)正則表達(dá)式:


      a)確定都是數(shù)字的,則用 (\d+)表示


      b)確定都是字母的,則用 ([a-zA-Z]+) 表示


      c)確定是字母數(shù)字混合,則用 ([a-zA-Z0-9]+) 表示


      d)確定是字母數(shù)字下劃線混合,則用 (\w+) 表示


      只有在pattern的粒度無法用上述a和b形式表示時(shí),才用c形式表示;


      只有在pattern粒度無法用a、b、c表示時(shí),則才用d形式表示。


      如果這4種規(guī)則都無法滿足你的需求,那很不幸的告訴你,你就只能試用URL適配了。


      如果你還是對(duì)移動(dòng)適配規(guī)則寫法不太懂,那可以參考百度站長學(xué)院的移動(dòng)適配工具幫助,再看我這篇文章,你應(yīng)該會(huì)有一個(gè)深的了解。


    精品人妻一区二区三区四区在线| 国产精品视频网站你懂得| 亚洲无码精品浪潮| 日韩AV在线不卡一区二区三区| 亚洲AV成人精品一区二区三区| 亚洲精品综合久久中文字幕| 91天堂素人精品系列全集亚洲| 99热热久久这里只有精品166| 污污网站国产精品白丝袜| 久9视频这里只有精品8| 国产精品视频一区二区三区经 | 精品日本一区二区三区在线观看| 日韩版码免费福利视频| 成人无号精品一区二区三区| 久久精品视频99精品视频150| 91久久精品视频| 久久久久无码精品亚洲日韩| 日韩乱码人妻无码中文字幕 | 国产成人精品久久亚洲高清不卡| 任我爽橹在线精品视频| 国产精品爽黄69天堂a| 久久AV无码精品人妻糸列| 亚洲蜜芽在线精品一区| 2021精品国产品免费观看| 日本精品3d动漫一区二区| 久久精品中文字幕久久| 国产精品合集一区二区三区 | 韩国精品一区视频在线播放| 99久久国产亚洲综合精品| 久久精品夜夜夜夜夜久久| 99久久99久久久精品久久| 久久亚洲精品中文字幕三区| 国产精品三级国语在线看| 老司机午夜精品视频播放| 日韩AV无码不卡网站| 亚洲一区日韩高清中文字幕亚洲| 国内精品久久久久影院免费| 国内精品久久久久影院优| 麻豆精品久久精品色综合| 久久久精品2019中文字幕之3| 久久一本精品久久精品66|