我正在开发一个基于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
上,然后重试,从而缓解此问题。