目前使用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這麼久,還不算完全掌握他的特性。
隨機文章
- 高鐵寶寶誕生獲贈免費商務艙來回車票 (2007-10-31)
- 都過了 9102了 LINE的備份和移機,還是一樣的渣 (2020-01-02)
- 腐乳空心菜+茄汁炒飯 (2011-10-03)
- OS-Symbian OS (2007-11-03)
- ServerZoo 狀況接二連三 (2014-12-12)