- 时间:2022-09-29 04:19 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:解决Golang在Web开发时前端莫名出现的空白换行
[b]问题:[/b]
在使用Golang做Web开发时,有时候渲染出来的模板在前台显示时会出现一些奇怪的空白换行,具体特征就是查看css样式表并没有相关定义的空白部分。
[b]分析:[/b]
查看出现问题页面的网页源代码,复制空白换行部分转码为Unicode编码,发现其中包含了[code]\u2028[/code]这样的字符【图一】。
[img]http://files.jb51.net/file_images/article/201608/2016829143227796.png?2016729143242[/img]
【图一】
另外,直接在浏览器检查里边的html选择Edit as html,也可发现在空白处存在小红点,鼠标移上会直接显示该字符是[code]\u2028[/code]【图二】。查阅资料发现,这样的换行符在JavaScript中并不支持。
[img]http://files.jb51.net/file_images/article/201608/2016829143431146.png?2016729143442[/img]
【图二】
[b]解决方法:[/b]
在网页检查可以发现,直接删除这些小红点便可解决问题。网上有直接前端处理的方式,即搜索页面中的[code]\u2028[/code]并将其替换为[code]\\u2028[/code]即可,当然也可以在后台使用Golang进行处理,即在输出html前对内容进行检索,并替换即可。
strings.Replace(html,"\u2028","",-1)
好了,以上就是这篇文章的全部内容,希望对大家的学习和工作能带来帮助。如果有疑问可以留言交流。