2023年4月28日 星期五

JavaScript : 將字串中的單引號或雙引號編碼

2023年4月28日 星期五

有人遇到在 HTML5 FUN 的遊戲中,部份圖片出不來的問題,仔細的觀察以後,一個小發現,在所謂有問題的遊戲中,題庫設定出現了很多單引號。

可能是以前大部份都是出中文的題庫,幾乎很少去考慮到單引號放在題庫中會產生的負面效應。試了一下,果然將題庫中的單引號編碼過以後,原來的問題就不再出現。

改程式嗎?其實不需要,有需要的話,只要多一道將引號編碼的程序,可在題庫設定(假設題庫的變數名稱為 questionLines)的後面再加上底下這行:

questionLines = questionLines.replace(/['"]/g, function(match){ return "%" + match.charCodeAt(0).toString(16);} );

上面的程式碼只要找到單引號或是雙引號,就會將它置換為 %27 (單號),或是 %22 (雙引號),並更新題庫變數的內容。經過這樣的處理,如果題庫設定是拿來當圖片檔名就不會被引號所干擾而未如預期呈現了。

一直以來,都覺得寫程式是一種樂趣,也樂於與人分享成果;但也漸漸發現隨著時代潮流的演變,很多人都忘了自己是誰,他人又是誰,連互動都沒有,就開始對別人要這個,要那個的,只能說是人心不古,又或自己慢慢變個老頭子了。

1 則留言:

  1. 我深感抱歉,因為我過去的言辭無意中冒犯了你。我承認,我說的話不夠禮貌,也不尊重你的感受,這是我完全不應該做的事情。我對我的失禮行為感到非常羞愧和後悔。
    我一直在使用你的Flash版本,對你充滿了感激之情。
    我本意只是想向你回饋使用中碰到一些問題,從來沒想過要求你一定要解決。
    新的腳本我測試了,可以解決圖片不顯示的問題,再次表示感謝。
    聲音會有短暫重疊的現象,我嘗試在音效檔的前面加1秒靜音,暫時掩蓋了這個問題,期待老師有更好的解決方法。
    再一次向你道歉,希望你能原諒我。
    謝謝你的理解和寬容。
    祝好。

    回覆刪除

 
雄::gsyan © 2009. Design by Pocket