Mār*_*dis 10
如果您通过JS设置后台URL,那么正确且安全的方法是使用encodeURI()并用引号括起来.
node.style.backgroundImage = 'url("' + encodeURI(url) + '")';
Run Code Online (Sandbox Code Playgroud)
转义引号就足够了吗?
不,您还应该担心反斜杠和换行符。
以下是双引号 URI 的 CSS 语法: http://www.w3.org/TR/CSS21/grammar.html#scanner
"([^\n\r\f\\"]|\\{nl}|{escape})"
Run Code Online (Sandbox Code Playgroud)
哪里{nl}
\n|\r\n|\r|\f
Run Code Online (Sandbox Code Playgroud)
并且{escape}是反斜杠转义字符。所以结尾的反斜杠会破坏你的CSS。同样是非转义换行符。
我强烈建议删除所有空格并最终"转义\