目前使用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這麼久,還不算完全掌握他的特性。
隨機文章
- resolv.conf DNS 反解實現 netbios name 解析 (2016-06-30)
- 地圖日記轉型專心做團購(Groupon) (2011-12-10)
- Proxmox VE 異機備份還原測試成功 (2019-12-26)
- nownews記者引用外電的功力真是弱到一個不行 (2014-04-23)
- Gmail也不是這麼好用~我的轉寄達上限 (2008-06-15)