2、路徑問題

  、/等標簽中的相對路徑需均轉換為完整url,這個在目前教程里貌似沒有明確提出,根目錄相對路徑還好,主要是相對當前頁面路徑轉換完整url需加上所在目錄有些難度(特別是標簽調用生成的相對路徑,如分頁)。

  3、內聯樣式問題

  模板里的內聯樣式可以手動整改,雖煩瑣但難度不大,主要問題在于后臺發布文章時,cms編輯器會自動生成包括內聯樣式在內的各種不符合mip規則的原始代碼,除了折騰一下對編輯器進行修改,其他也很難解決了。

  4、js問題

  mip規范局限了js的使用,這個的確挺頭疼的,好在我改造的站點內js不多,所以刪掉部分效果和使用現有組件替換,也湊合解決了此問題。不過還是希望百度mip團隊能在考慮下此方面的規范方案優化,不少站點有很多js代碼且不能去除,全部以組件形式提交也很費事且需要一定的程序基礎,其他問題還可以按統一教程去解決,但js上的mip改造卻無法如此,按照目前的限制會導致很多站長因此一點就不得不放棄mip改造。

  5、其他小問題

  ·發現少部分樣式有沖突,需根據實際情況對本身css進行局部修改。

  ·發現mip cache無法識別站點中圖片的302跳轉,如原站使用302跳轉的圖片,mip生效后無法顯示圖片。該問題已和百度技術人員溝通,說后續可以考慮支持,目前我自己加了一段代碼對路徑做了下處理。

  ·組件使用bug(如mip-carousel多圖輪播圖片套鏈接會導致圖片顯示空白,且無法自適應屏幕)。

  ·mip引入提交后就回顯個success,也沒有提交記錄和狀態,用戶體驗上有所欠缺。

  正題:基于dedecms/gbk的整站mip改造

  第一部分:模板修改

  1、js部分:刪除或使用現有組件替換

  2、調用百度mip文件:

  head里加

  body里加

  3、head里加,通過dedecms標簽直接調用當前頁url。

  4、外部通用css文件:建議將css文件中的樣式代碼嵌入

  中,另存為模板文件(如css.htm),用{dede:includefilename="css.htm"/}替換相關模板中的。

  模板中的內聯css可人工進行查找替換,合并至中。(雖在下面代碼中可以自動進行處理,但從靜態文件生成性能角度考慮,還是建議人工先將模板中的內聯樣式一次性整改好。)

  注:以上操作大多可通過批量查找替換來完成,看似需要修改很多,但實際工作量并不大。

  第二部分:程序文件修改

  · 靜態生成移動站:

  找到/include/dedetag.class.php文件中解析模板輸出為文件的函數:

  function SaveTo($filename)

  {

  $fp = @fopen($filename,"w")or die("DedeTag Engine Create File False");

  fwrite($fp,$this->GetResult());

  fclose($fp);

  }

  替換為(部分代碼可根據實際情況進行改動):

  //路徑轉換函數文件。$content:代碼源,$feed_url:首頁,$f_url:相對路徑的目錄部分

  function relative_to_absolute($content,$protocol, $domain, $f_url) {

  //根目錄相對路徑(如href="/a/b.html")轉換

  $new_content =preg_replace(\\\’/hrefs*=s*([\\\’"])s*//\\\’,\\\’href=\\\\1\\\’.$protocol.$domain.\\\’/\\\’, $content);

  $new_content =preg_replace(\\\’/srcs*=s*([\\\’"])s*//\\\’, \\\’src=\\\\1\\\’.$protocol.$domain.\\\’/\\\’,$new_content);

  //當前頁相對路徑(如href="a/b.html")轉換

  $new_content

  =preg_replace(\\\’/hrefs*=s*([\\\’"])(?!(http|https)://)/\\\’,\\\’href=\\\\1\\\’.$protocol.$domain.$f_url,$new_content);

  $new_content

  =preg_replace(\\\’/srcs*=s*([\\\’"])(?!(http|https)://)/\\\’,\\\’src=\\\\1\\\’.$protocol.$domain.$f_url, $new_content);

  return $new_content;

  }

  function SaveTo($filename)

  {

  $fp=@fopen($filename,"w") ordie("DedeTag Engine Create File False");

  if(substr($_SERVER[\\\’PHP_SELF\\\’],-6)==\\\’_m.php\\\’||substr($filename,-13)==\\\’/m/index.html\\\’){//跳轉適配站識別是否為移動端生成,不影響pc端的gbk編碼。移動端為獨立站點需去掉此判斷條件。

  $f_url=explode(\\\’www.域名.com/m\\\’,dirname($filename));//分割路徑,獲取當前頁相對路徑的目錄部分

  //如dirname($filename)得到的本地絕對路徑為D:/wwwroot/www.域名.com/m/yygk/xwzx,用網站目錄“www.域名.com/m”作為標識分割路徑,得到目錄部分“/yygk/xwzx”。

  $html=$this->GetResult();

  $html=$this->relative_to_absolute($html,\\\’http://\\\’,\\\’m.域名.com\\\’,$f_url[1].\\\’/\\\’);//相對路徑轉換絕對路徑

  $html=str_replace(\\\'<metacharset="gb2312">\\\’,\\\'<metacharset="utf-8">\\\’,iconv(\\\’gbk\\\’,\\\’utf-8//ignore\\\’,$html));//轉換為utf-8編碼聲明,fwrite會以此生成對應編碼的靜態頁面

  $html=str_replace(\\\'<a\\\’,\\\’標簽加target< p="">

  $html=str_replace(\\\'<img\\\’,\\\’

  /*主要針對編輯器生成的內聯樣式,將內聯樣式轉換到head的style標簽中*/

  if(preg_match_all(\\\’/sstyles*=s*[\\\’"](.*?)[\\\’"]/\\\’,$html,$css)){

  $css0=array_unique($css[0]);//過濾重復style

  foreach($css0as $k => $v){

  $html=str_replace($v,\\\’class="mip_add_css_\\\’.$k.\\\’"\\\’,$html);//mip_add_css_為自定義樣式名前綴,可自行修改,但需避免與原有樣式名重復

  $temp_name=\\\’mip_add_css_\\\’.$k;

  $$temp_name=$css[1][$k];

  $add_css.=\\\’.\\\’.$temp_name.\\\'{\\\’.$css[1][$k]."}n";

  }

  $html=str_replace(\\\’\\\’,"

 

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:www.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » 技術干貨分享 織夢gbk站點mip改造方案

登錄

找回密碼

注冊

主站蜘蛛池模板: 牛牛视频一区二区三区| 人人妻人人狠人人爽天天综合网| 性欧美暴力猛交69hd| 成人午夜在线观看刺激| 一本久道久久综合狠狠躁av| 国产精品黄色大片在线看| 日韩中文字幕高清有码| 亚洲一区二区三区自拍高清| 国产精品一区二区AV| 丰满少妇高潮无套内谢| 我要看亚洲黄色太黄一级黄| 国产成人一区二区三区免费| 给我播放片在线观看| 国产目拍亚洲精品区一区| 亚洲AV无码不卡在线播放| 国产SM重味一区二区三区| 国产三级国产精品国产专| 亚洲国产成人一区二区在线| 暖暖视频日本在线观看| 久久国产免费观看精品3| 亚洲av色图一区二区三区| 18禁免费无码无遮挡不卡网站| 国产不卡在线一区二区| 99精品人妻少妇一区| 国产乱码1卡二卡3卡四卡5| 国产伦精品一区二区三区妓女下载| 国产一区二区三区不卡观| 亚洲人成网站77777在线观看| 把腿张开ji巴cao死你h| 国产片AV国语在线观看手机版| 17岁日本免费bd完整版观看| 日本久久久免费高清| 亚洲av产在线精品亚洲第一站| 精品人妻少妇嫩草av专区| 国产男女猛烈无遮挡免费视频网站 | 久久亚洲精品无码va白人极品| 国产精品自在拍在线播放| 人人妻人人狠人人爽天天综合网| 在线观看无码av免费不卡网站| 精品人妻伦九区久久69| 97人妻精品一区二区三区|