在做移動站時時常會遇到一些小問題比較偏門的,有時在網上找答案又找不到,就比如說移動端網站內容圖片顯示不全,不顯示等問題,公司也是在網站找了一大推的資料再加上自己的實踐操作才得出最好的解決方案。
?
一、移動端內容圖片屬性
?
首頁要搞清楚的是移動端網站的內容里面的圖片是同步PC端,也就是說,我們在PC端寫文章上傳的圖片時,我們發(fā)現(xiàn)PC端的圖片是有一個圖片高、寬的屬性的,而這個屬性由于為適應PC端瀏覽,設置的較大,導致在手機端看時,移動端的圖片顯示不全。
這是由于圖片的高、寬尺寸屬性控制了圖片所以才導致移動端顯示不全。
二、解決問題思路
?
既然是圖片屬性問題,那就可以把移動端的圖片高、寬屬性去掉,這樣就可以讓圖片在手機端自適應了,但是問題來了,如果一張圖片一張圖去去修改肯定很麻煩,而且由于PC端上傳圖片時每圖片的尺寸都不同,所以又不能直接用“批量維護”功能里的“數(shù)據(jù)庫內容替換”,最主要的是移動端與PC端內容數(shù)據(jù)是同步的,如果在移動端內容發(fā)布里面把圖片屬性去掉,那PC端的圖片屬性也沒有了,就會導致沖突。
?
所以需要用樣式來控制移動端圖片,由于樣式兩個站是獨立的。
?
三、解決方法
?
經過公司各個方法的多次實驗,認為以下方法是最好的也是最簡單的:
?
打開空間include這個文件夾,找到 arc.archives.class.php 文件,查找代碼:
?
找到 “//設置全局環(huán)境變量”如下圖代碼:
將以上全部替換成:
為了方便大家復制我將它寫下來:
?
//設置全局環(huán)境變量
? ? ? ? ? ? $this->Fields["typename"] = $this->TypeLink->TypeInfos["typename"];
? ? ? ? ? ? @SetSysEnv($this->Fields["typeid"],$this->Fields["typename"],$this->Fields["id"],$this->Fields["title"],"archives");
//去掉img的width和height
$this->Fields["body"] = preg_replace("/style=(.*)"/","",$this->Fields["body"]);
? ? ? ? }
?
四、問題已解決,后臺生成
?
好了,修改好后直接到移動端后臺生成所有文章,刷新文章頁面,就可以看到圖片自適應了移動端設備尺寸,而PC端的圖片屬性沒變。
?
《看了這篇文章的人還看了》