RSS 源中以 "//" 开头但未在 Web 浏览器控件中加载的 URL



我正在开发一个基于WindowsForm的RSS聚合器作为业余爱好项目。 我在显示来自 RSS 源的描述时遇到了问题,这些描述在 Web 浏览器控件中包含 html。

导致我出现问题的描述示例:

"<img border="0" src="//images10.newegg.com/NeweggImage/ProductImageCompressAll125/14-487-346-Z01.jpg" width="125" height="94" title="" alt="">

问题是 img src。 如果我在它前面添加http:,它会很好地加载图像。 否则,我会得到一个x盒子,而不是那种你可以玩游戏的盒子。

解决方法是解析每个描述并在任何必要的地方添加http:字符串,但这似乎有很多不必要的编码,并且每个提要都会有所不同。

是否有更好的方法来显示使用 html 格式的 RSS 源数据,或者有没有办法解决上述 Web 浏览器控件的问题?

如何显示使用 HTML 格式化的 RSS 源数据?

我不确定是否有办法。


有没有办法解决上述 Web 浏览器控件的问题?

您可以使用 jquery 轻松解析所有 img 的 src

属性,这些属性在http:前面:
$(function() {
$('img').attr('src', function(index, src) {
return 'http:' + this.getAttribute('src');
});
});

由于有问题的 URL 没有以协议为前缀,因此它将被视为相对 URL,但显然不会显示本地资源。有关该主题的更多信息

可以使用确定是绝对 URL 还是相对 URL 中所述的解决方案,并在失败时尝试将http:粘贴在源src上,然后重试,从而缓解此问题。

最新更新