目前使用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這麼久,還不算完全掌握他的特性。
隨機文章
- 用聽的CNN新聞 (2010-09-15)
- 台灣人是一個很健忘的族群 (2011-07-06)
- 澀女郎&雙響炮之朱德庸 (2011-08-16)
- 連低階的機器人程式都檔不住攻擊 捕夢網跟人家說什麼雲端主機 (2017-02-24)
- 要不是我手機壞了 我不知道Dropbox連結裝置改成3個 (2019-06-16)