我期待这个工作
var url = 'http://path_to_some_image.jpg';
$('body').css('background-image', "url('" + encodeURIComponent(url) + "')");
但我发现404找不到错误。 浏览器无法在css中处理编码的网址吗?
如果我使用原始网址,它会起作用,但如果网址包含引号和内容,该怎么办?我必须使用正则表达式手动替换它们:/
答案 0 :(得分:2)
你应该encodeURI
var url = 'http://path_to_some_image.jpg';
$('body').css('background-image', "url('" + encodeURI(url) + "')");
区别在于
encodeURI 假设输入是一个完整的URI,可能包含一些需要编码的字符。
encodeURIComponent 会对具有特殊含义的所有内容进行编码,因此您可以将其用于URI的组件,例如