之前本站使用的是多説的評論插件 (雖然也沒什麼人評論-.-) 。今天在改回主題自帶評論樣式後,測試了下評論提交,發現提交不了了。提示:{"error":"get from image source failed: E405"} 。在求教度娘後找到了問題所在。
網上提供的方法:在自己的主題下 js 文件找到 comments-ajax.js 這個文件,找到如下代碼:
vari=0,got=-1,len=document.getElementsByTagName(『script』).length; while(i<=len&&got==-1){ varjs_url=document.getElementsByTagName(『script』)[i].src, got=js_url.indexOf(『comments-ajax.js』);i++; } |
添加一段代碼:
1 |
js_url=js_url.replace(『七牛的域名』,』 你的域名』); |
添加後的完整代碼為:
vari=0,got=-1,len=document.getElementsByTagName(『script』).length; while(i<=len&&got==-1){ varjs_url=document.getElementsByTagName(『script』)[i].src, got=js_url.indexOf(『comments-ajax.js』);i++; js_url=js_url.replace(『cdn.xhsay.com』,』www.xhsay.com』); } |
其中 cdn.xhsay.com,和 www.xhsay.com 分別改為你的七牛和網站地址,改完後上傳即可。其次需搞定七牛的鏡像緩存。
但是由於我使用的是知言博主的 Tinection 主題,作者在製作時壓縮了 comments-ajax.js 文件,並且改了文件名和路徑:themes/tinection/includes/js/function.js,無法找到明顯的此類標識符,修改太困難了。故以上方法不適用。
經過半個小時的上網找資料研究,最後終於找到了其它方法。打開七牛插件目錄 wp-content/plugins/wpjam-qiniu/,找到 wpjam-qiniutek.php 文件打開,定位至 100 行 return $html 前,插入以下代碼:
1 |
$html=str_replace('http://www.xhsay.com/wp-content/themes/tinection/includes/js/function.js','http://cdn.xhsay.com/wp-content/themes/themes/tinection/includes/js/function.js',$html); |
其原理是插件已經修改靜態文件原目錄至 CDN 目錄,我只需要再把 comments-ajax.js(function.js) 這一個文件的目錄改回來即可,其中第一個路徑是 CDN 服務器上 comment-ajax.js(function.js) 的路徑,需要把它替換為第二個路徑,即網站原文件路徑,具體路徑請根據你自己的網站作修改,這樣既體驗了七牛 CDN,又不用愁 AJAX 評論錯誤的問題了。