2017-09-05 7 views
1

私は、WindowsフォームベースのRSSアグリゲーターを趣味のプロジェクトとして取り組んでいます。私はウェブブラウザコントロールのhtmlを含むRSSフィードからの説明を表示している間に問題にぶつかっています。Webブラウザーコントロールに「//」で始まるRSSフィードのURL

私に問題が発生する記述例:

"<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フィードデータを表示するには、より良い方法がありますか、上記のウェブブラウザコントロールで説明した問題を解決する方法はありますか?

+0

通常、ソースファイルが '//'で始まっている場合、特定のファイルが 'http'や' https'で提供されることを意味します。解析すると、現在のプロトコルはWebブラウザによって通常付加されます。例として、安全なページ 'https:// www.example.com'上にある場合、そのリソースは' https://images10.newegg.com/NeweggImage/ProductImageCompressAll125/14-487-346-Z01 'として読み込まれます。非セキュアページ「http:// www.example.com」では「http:// images10.newegg.com/NeweggImage/ProductImageCompressAll125/14-487-346-Z01.jpg」と読み込まれます。 – ImaBrokeDude

答えて

3

HTMLでフォーマットされたRSSフィードデータを表示するにはどうすればよいですか?

方法があるかどうかわかりません。


WebBrowserコントロールと、上記の問題を解決する方法はありますか?

あなたは簡単にすべてのimgのsrcはjqueryのを使用してhttp:を付加属性を解析することができます。問題のURLはプロトコルで先頭に付加されていないので

$(function() { 
    $('img').attr('src', function(index, src) { 
     return 'http:' + this.getAttribute('src'); 
    }); 
}); 
+0

私はこの答えが好きではありません。なぜなら、あなたは基本的に何が書かれているのかを繰り返しているからです。彼らはすでにこれを行うより良い方法を探している 'http'を前に付けています。私はそれが誰かに必要なすべてかもしれないので、それをdownvoteしませんが。 – ImaBrokeDude

+0

親愛なる@ImaBrokeDude、これはチャットサイトではありません。我々はプロのプログラマーの束です。複数の質問インラインに答えるために私がOPをどのように引用したかに注目してください。 OPは解決策を求めます。コメントをする前に次回読んでください。ありがとうございました。 –

+0

こんにちは、私はこのサイトをチャットサイトのように扱いません。あなたは私が選んだ名前が気に入らないかもしれませんが、私が述べたことは有効でした。なぜOPがすでに尋ねたのと同じことを繰り返すのですか?具体的には 'http'の前についています。あなたは彼らがすでにこれをしているのをはっきりと見ることができます。与えられた質問に指定された言語以外の回答ステップの上に、なぜユーザーがJavaScriptを使用してC#文字列を解析する必要がありますか? – ImaBrokeDude

1

、それは相対URLと考えられるが、そこにあることになります明らかに表示するローカルリソースではありません。 subject

Moreあなたは、障害が発生した場合にソースsrchttp:を固執し、再試行しようとする試みと相まってDetermine if Absolute or Relative URLで説明した溶液を用いてこれを緩和することができます。