發現

因為之前路由一直想要嘗試使用第三方的社會化評論框來取代WP自身的評論,但是奈何無論如何也找不到合適的選擇,現在只好再次換回了自帶的評論框。(好吧反正也沒人會來評論。)

但是換回自帶的評論框後發現了一個問題,那就是當開啟了Ajax之後無論發布什麼內容的評論,都會導致{“錯誤”:”get from image source failed: E405″}報錯從而無法發布評論。

原因

經google後得到結論,根據這裡的記錄表明是七牛CDN的問題。當然,事實證明確實是CDN的問題,但可能並不只有七牛才會導致這樣的吧,或者我們可以猜想,是CDN導致了這個問題。

原理就是CDN把你的評論-ajax.js文件給緩存走了,結果導致路徑錯誤,這時候我們有兩種選擇來修復這個問題。

  1. 修改js文件讓它能夠支持你的CDN路徑
  2. 將這個文件單獨排除在CDN的鏡像列表之外

解決辦法

1、修改comments-ajax.js文件

這種方法的好處是你依舊可以體驗完整的CDN鏡像服務,你需要打開你主題目錄下對應的文件然後修改它,找到如下的代碼段(一般應該是在開頭的)

然後就在代碼後邊加入這樣一句話

這樣,修改完成後應該是下邊的樣子

然後就保存上傳就好了,當然,我希望你能搞定七牛的文件更新XD。

2、添加CDN鏡像例外

如果你和我一樣是使用WP超高速緩存來開啟CDN鏡像的,那你也可以選擇我這種修復辦法——直接將這個js文件排除在鏡像列表之外就好了,雖然加載的時候多了一個js文件,但省去了對付七牛那個緩慢的刷新過程,其實還是很不錯的,立竿見影啊~

另外,我想其他的CDN插件應該也會有類似的排除功能,你可以領會精神然後自己去插件裡找找——至於直接使用代碼實現CDN的大神……請出門左轉╮(╯▽╰)╭

好了,找到你WP超高速緩存CDN頁面,然後在下邊找到如果是之前有則排除”這一項,將評論阿賈克斯填寫進去就好了。

[警告]
記得多個語句之間用英文的逗號來分隔哦!
[/警告]

填寫完成的樣子如圖所示:

QQ20140701-1

 

這樣,就只有這一個文件被排除在CDN之外了。

同時,你可以在頁面當中檢查元素來驗證,比如說這樣:

QQ20140701-2

這個時候你去測試評論,就發現已經可以正常使用啦。

路由當時可是同時提交了七牛緩存更新的,截止到這篇文章寫完,七牛那邊的文件依舊更新不能╮(╯▽╰)╭

總之,還是這樣的辦法有效瓦~下次如果更換了CDN,也不用再去手動修改js地址了。

由...出版 R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

加入對話

12 註釋

您的電子郵件地址不會被公開. 必填字段標 *