背景图像不适用于 encodeURIComponent

background-image not working with encodeURIComponent

本文关键字:encodeURIComponent 适用于 不适用 图像 背景      更新时间:2023-09-26

我期待这能工作

var url = 'http://path_to_some_image.jpg';
$('body').css('background-image', "url('" + encodeURIComponent(url) + "')");

但是我得到 404 个未找到的错误。浏览器无法处理 css 中的编码网址有什么原因吗?

如果我使用原始网址,它可以工作,但如果网址包含引号和东西怎么办?我必须使用正则表达式手动替换它们:/

你应该做encodeURI

var url = 'http://path_to_some_image.jpg';
$('body').css('background-image', "url('" + encodeURI(url) + "')");

区别在于

encodeURI 假定输入是一个完整的 URI,其中可能有一些需要编码的字符。

encodeURIComponent 将对所有具有特殊含义的内容进行编码,因此您可以将其用于 URI 的组件,例如

相关文章:
  • 没有找到相关文章