Golang Web開發時前端出現謎之空白換行的坑

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

 

  在使用Golang做Web開發時,有時候渲染出來的模板在前台顯示時會出現一些奇怪的空白換行,具體特徵就是查看css樣式表並沒有相關定義的空白部分。

分析:

  查看出現問題頁面的網頁原始碼,複製空白換行部分轉碼為Unicode編碼,發現其中包含了\u2028這樣的字元【圖一】。

 

 

【圖一】

 

 

  另外,直接在瀏覽器檢查裡邊的html選擇Edit as html,也可發現在空白處存在小紅點,滑鼠移上會直接顯示該字元是\u2028【圖二】。查閱資料發現,這樣的分行符號在JavaScript中並不支援。

 

【圖二】

解決方案:

  在網頁檢查可以發現,直接刪除這些小紅點便可解決問題。網上有直接前端處理的方式,即搜尋網頁面中的\u2028並將其替換為\\u2028即可,當然也可以在後台使用Golang進行處理,即在輸出html前對內容進行檢索,並替換即可。

strings.Replace(html,"\u2028","",-1)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.