imgLiquid
imgLiquid copied to clipboard
Url is encoded twice if already encoded
It seems whenever the plugin gets an url that is already encoded, it encodes it again, thus destroying the url.
Perhaps you can test if it is encoded before encoding it, e.g. with a regex, something like /%[0-9A-Z]{2}/g
. (that regex needs testing).
Maybe you can do like this:
if (!new RegExp(/%[0-9A-Z]{2}/g).test($img.attr('src'))) {
// Change
$imgBoxCont.css({ 'background-image': 'url("' + encodeURI($img.attr('src')) + '")' });
} else {
// Change
$imgBoxCont.css({ 'background-image': 'url("' + $img.attr('src') + '")' });
}
Seeing the same thing here. I actually don't think we should need to encode the background-image URL at all.
@petertflem I'm working around it by running this snippet just before running imgLiquid:
if (new RegExp(/%[0-9A-Z]{2}/g).test($img.attr('src'))) {
$img.attr("src", decodeURIComponent($img.attr("src")));
}
$img.parent().imgLiquid({ ... });
YMMV.