URI中的空格无效。它们需要编码为%20
。
您可以src.replace(/ /g, '%20')
(或更一般而言)encodeURI(src)
对%
URI中无效的所有字符进行编码。encodeURIComponent(src)
更为常见,但只有在src
相对文件名唯一的情况下才有效;否则,它将编码/
并停止路径。
但是, 是,原始文件img src
已经损坏,并且只能通过浏览器修复程序来更正错误才能正常工作。您需要修复生成页面的Ruby脚本。在将文件名包含在路径中之前,应先对其进行URL编码。除了空格以外,还有更多会导致问题的字符。
正如Pekka所说,您还应该在url(...)
值中的URL周围使用引号。尽管您可以不用许多URL来摆脱它们,但必须对某些字符进行\
转义。使用双引号意味着您可以避免这种情况(URL本身不能出现双引号)。