gpt4 book ai didi

javascript - 防止图像 url 中的 & 作为 & 的 JSF 编码

转载 作者:行者123 更新时间:2023-11-30 16:14:30 25 4
gpt4 key购买 nike

我正在从我的数据库中获取一个图像 url 并需要将其显示在 <img> 中标签。我遇到的问题是 JSF 正在编码 &作为 &amp;并且找不到图片网址。

这是一个例子。正确的图片地址:

https://<server details>?ahid=2096&aid=107687&lid=28812968&url=202.jpg

编码后的网址:

https://<server details>?ahid=2096&amp;aid=107687&amp;lid=28812968&amp;url=202.jpg

在这种情况下,找不到编码的图像 url 并显示损坏的图像图标。我该如何解决这个问题?

编辑:html元素及其 JSF标签:

<a href='#{product.itemUrl}' target="_blank"> 
<img src='#{searchResults.getThumbnailUrl(product)}' class="img-responsive imageproduct" />
</a>

编辑 2:

我想我会尝试更换 &amp;返回&javascript但这也不起作用,因为在 javascript 中图片 url 没问题,而在浏览器的 View 源中却不行。这是代码。在浏览器中:

<img id="thumbnailId" onmouseover="decodeUrl(this)" src="https://www.proxibid.com/asp/LotImageViewer.asp?ahid=3231&amp;aid=108183&amp;lid=28955872&amp;url=144-1.jpg" />

JavaScript:

function decodeUrl(img) {
var url = img.src;
console.log("url before = " + url);
url = replaceAll(url, "&amp;", "&");
console.log("url after = " + url);
}

function replaceAll(str, find, replace) {
return str.replace(new RegExp(find, 'g'), replace);
}

输出是

url before = https://www.proxibid.com/asp/LotImageViewer.asp?ahid=3231&aid=108183&lid=28955872&url=144-1.jpg
url after = https://www.proxibid.com/asp/LotImageViewer.asp?ahid=3231&aid=108183&lid=28955872&url=144-1.jpg

如您所见,两者完全相同且正确。但是查看源代码会导致

src="https://www.proxibid.com/asp/LotImageViewer.asp?ahid=3231&amp;aid=108183&amp;lid=28955872&amp;url=144-1.jpg"

这是不正确的,图像被破坏了。知道如何解决这个问题吗?

最佳答案

您在浏览器中看到的是正确的。在 html 中,& 应编码为 & 这在技术上被解释为 & 当您的浏览器请求图像时,您可以看到您在评论中发布的内容是http 200 响应。这里的错误是您期望 https://www.proxibid.com/asp/LotImageViewer.asp?ahid=3231&aid=108183&lid=28955872&url=144-1.jpg在返回 html 页面时返回图像

LotImageViewer.asp?ahid=4292&aid=108223&lid=29012930&url=127.jpg
www.proxibid.com/asp
GET 200 OK
text/html
searchresults:696 Parser 5.1 KB 34.7 KB 277 ms 228 m

如果您发布 this url在您的浏览器中(或只需单击此处),您可以看到它返回的内容。所以基本上,错误是你的“期望”。如果单击图像中的“全屏”,您将看到

https://www.proxibid.com/AuctionImages/3231/108183/FullSize/144-1.jpg

全屏显示图像。所以你需要调整你的代码

关于javascript - 防止图像 url 中的 & 作为 & 的 JSF 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35722373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com