濮阳杆衣贸易有限公司

主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > DedeCMS手機(jī)wap網(wǎng)站圖片自適應(yīng)bug修改

DedeCMS手機(jī)wap網(wǎng)站圖片自適應(yīng)bug修改

POST TIME:2017-11-13 00:01

在安裝調(diào)試跟版網(wǎng)手機(jī)版網(wǎng)站的時(shí)候,發(fā)現(xiàn)一個(gè)問題,圖片無法很好的適應(yīng)屏幕,寬度可以與屏幕同寬,而高度卻沒有按比例調(diào)整,導(dǎo)致圖片看起來像被擠扁了一樣,為什么會(huì)這樣呢?

一般為了要達(dá)到圖片自適應(yīng)屏幕寬度的目的,我們?cè)趇mg標(biāo)簽的樣式中定義max-width:100%;height:auto;就可以了,可是這次設(shè)置了也沒有效果。

沒辦法,由于用手機(jī)無法查看源代碼,所以就在電腦上打開網(wǎng)站,然后查看源代碼,發(fā)現(xiàn)文章中的圖片還是保留了PC網(wǎng)頁img標(biāo)簽原有的格式設(shè)定沒有過濾掉,從而導(dǎo)致css文件中設(shè)置的img樣式無效。如下圖:

手機(jī)網(wǎng)站一般都會(huì)把文章的HTML進(jìn)行修改,去掉一些復(fù)雜的樣式,完成這些操作的代碼是在wap.inc.php文件。

打開wap.inc.php看了一下,發(fā)現(xiàn)了問題。由于要過濾掉復(fù)雜的html標(biāo)示,但是還需要保留圖片,所以在過濾的時(shí)候,先把整個(gè)img標(biāo)簽給替代掉了,等過濾完之后,又替代回來,這樣就導(dǎo)致了img標(biāo)簽里面的style 無法被過濾。

原因找到了,辦法也很簡(jiǎn)單,我們只需在最后輸出的時(shí)候過濾掉style=“”里面的信息,就可以讓我們的自適應(yīng)樣式設(shè)定生效了。在/include/wap.inc.php中添加這句代碼(紅字部分):

$content = preg_replace("/style=.+?[*|\&;]/i", "", $content);

$content = preg_replace("/&[a-z]{3,10};/isU", ' ', $content);

return $content;

修改完之后保存,再開啟頁面的時(shí)候,查看源代碼,style標(biāo)簽的內(nèi)容已經(jīng)被過濾掉了,圖片已經(jīng)按比例縮小,不會(huì)出現(xiàn)比例失調(diào)的狀況了。



上一篇:DedeCMS織夢(mèng)文章頁面右側(cè)邊欄錯(cuò)位的解決方法

下一篇:怎樣讓手機(jī)訪問DedeCMS網(wǎng)站都跳轉(zhuǎn)到對(duì)應(yīng)的手機(jī)版

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
剑川县| 海阳市| 包头市| 高雄市| 葵青区| 塔河县| 阿拉尔市| 芜湖市| 浦北县| 永德县| 台江县| 东乡| 富平县| 慈利县| 榆中县| 莒南县| 定日县| 中阳县| 偏关县| 桂平市| 乐山市| 凌海市| 利津县| 远安县| 仪征市| 阳曲县| 团风县| 宜春市| 离岛区| 蓬溪县| 横峰县| 霍州市| 砚山县| 梅州市| 阿拉善盟| 陕西省| 盐边县| 马关县| 安龙县| 福贡县| 托克托县|