<code id="6mcsu"></code>
<li id="6mcsu"></li>
<li id="6mcsu"><dl id="6mcsu"></dl></li>
  • <code id="6mcsu"><tr id="6mcsu"></tr></code>
    或者

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

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

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


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


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


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


      代碼說(shuō)明


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


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


      \s匹配任意的空白符


      \d匹配數(shù)字


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


      ^匹配字符串的開(kāi)始


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


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


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


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


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


      同理,比如:PC頁(yè)面URL為:www.baidu.com/a.html,移動(dòng)頁(yè)面URL為:m.baidu.com/a.html,其中的字母a就是可替換的動(dòng)態(tài)參數(shù),因?yàn)樗赡茏兂蒪、c、d等又是另外的頁(yè)面了。所以我們就可以用:www.baidu.com/([a-zA-Z]+).html,以此來(lái)匹配www.baidu.com/{這里是字母}.html的所有頁(yè)面。同樣,我們?cè)撘苿?dòng)頁(yè)面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)在僅僅只支持簡(jiǎn)單的幾個(gè)正則表達(dá)式:


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


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


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


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


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


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


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


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


    人妻AV中文字幕一区二区三区 | 内射人妻少妇无码一本一道 | 精品无码无人网站免费视频| 中文字幕aⅴ人妻一区二区| 亚洲精品无码久久久久去q | 亚洲中文字幕视频国产| 亚洲午夜无码久久久久小说| 无套内射在线无码播放| 中文无码字慕在线观看| 色婷婷久久综合中文久久蜜桃av| 国精品无码一区二区三区左线| 中文字幕有码无码AV| 精品久久久无码中文字幕| 亚洲中文字幕不卡无码| 精品人体无码一区二区三区| 无码人妻精品一区二区三区在线| 亚洲乱码中文字幕综合234| 天堂资源中文最新版在线一区| 无码精品第一页| 精品久久久久久无码中文字幕| 国产精品亚洲аv无码播放| 少妇人妻无码专区视频| 亚洲av永久无码精品网站 | 亚洲V无码一区二区三区四区观看| 无码人妻少妇久久中文字幕| 亚洲AV区无码字幕中文色| 久久午夜无码鲁丝片午夜精品| 国产精品午夜福利在线无码| 久久国产亚洲精品无码| 人妻中文字幕无码专区| 无码av免费一区二区三区| 色偷偷一区二区无码视频| 无码人妻精品一区二区三| 日韩亚洲AV无码一区二区不卡| 亚洲av成人无码久久精品| 无码人妻精品一区二区| AV无码久久久久不卡蜜桃| 亚洲av麻豆aⅴ无码电影| 中文字幕亚洲精品无码| 无码中文字幕乱在线观看| 中文字幕无码一区二区免费|