目前使用CloudFlare運作的Wordpress運作上大致都是正常的,可能是因為我有裝CloudFlare for WordPress外掛的關係。
最近在改一個網站,裡面有用到javascript,結果運作一整個不正常。
原本的程式碼如下
<script type=”text/javascript”>
alert(“驗證碼輸入錯誤”);
</script>
去看原始碼之後,就是javascript就是很簡單的提示窗而以
結果跑出來的是空白視窗,整個跳窗警告的訊息都沒有出來。再解析原始碼出來看。
<script type=”text/rockscript”>
alert(“驗證碼輸入錯誤”);
</script>
反回的結果就變成空白視窗了,原本javascript變成了rockscript。原因是,CloudFlare為了優化網頁的內容,自動修改了程式碼,怎麼設定都調不回來,原本以為是安全性的問題,調低安全性也沒有用,東調西調都沒有用。最後,我把CloudFlare CDN快取加速的功能By-pass掉,結果還是一點效也沒有。其實要處理,也不難,只要改程式碼就好,
在網路查了一下,真的有WordPress外掛的作者在討論這個問題,他為了讓他的外掛能在CloudFlare的環境下使用,他修改了程式碼。
在javascript中,新增一個字串(CloudFlare專用的屬性),就可以解決了。修改的程式碼如下。
<script data-cfasync=”false” type=”text/javascript”>
alert(“驗證碼輸入錯誤”);
</script>
整個流程就正常了,其實CloudFlare這個功能就在處理壓縮和改善Javascript,但是會造成一些意外的發生,最後害我好想把CloudFlare拿掉。
因為目前Amazon的CDN,只有免費1年,而且還不知道他針對的流量計算是Domain還是Subdomain,這個也再找時間試試好了,用了CloudFlare這麼久,還不算完全掌握他的特性。
隨機文章
- 世界沒有末日,陽光依舊燦爛 (2011-05-12)
- 小米手環預約 VS 紅米Note 4G增強版 (2014-11-29)
- 中華電信取消60個小時免費上網,可以通知一下嗎? (2013-02-25)
- 有時買東西,不必捨近求遠(淘寶) (2016-07-11)
- 轉貼:「心,委屈了」 不提薪資福利、員工最真實的離職原因 (2014-01-14)