現在、.NET WebBrowserを使用して、私が書いているアプリケーションのヘルプ情報(HTMLファイルにローカルに保存されている)を表示しようとしていますが、ハイパーリンクに関連する2つの問題があります。VB.NET HTMLハイパーリンク
まず、正しいURLを書式で返す検索機能がありますfile:\\\C:\...
ブラウザにコピーして貼り付けることができます。コントロール内のリンクをクリックしても何もしません。
第2に、HTMLファイルにはすべて、他のHTMLファイルへの相対パスが含まれています。これらは私がウェブページが利用できないようにするfile:\\\C:\help.html
で終わるので、もちろんこれらはうまくいきません。しかし、私は、HTMLファイルを解析せずに、リンク先のディレクトリへのパスを連結することなく動作させる方法を考えることはできません。
編集:最初の問題では、ユーザータイプとして検索結果ページを動的に作成しています。たまたま、それはdoesnの今
<a style='font-family:verdana;color:#0645AD;font-size:20px;text-decoration:underline' href='C:\Users\User\Documents\project\bin\Debug\..\..\Help\FAQ.html'>FAQ</a><br />...This is the <b>FA</b>Q File.
、私は対照何でそのリンクをクリックしたとき:HTMLは(私はあなたのリンク部分を示すよ、はい、それは未完成です)これと同様のいくつかの結果が含まれています私に「ウェブページが利用できない」とか、実際のページに私を連れて行かないでください。ただし、HTMLを保存してChrome、IE、Firefoxで開くとうまく動作します。
2番目の問題では、それぞれにいくつかの他のファイルへの相対的なリンクを含む異なるセクションのヘルプファイルがあります。 VBはこれらを直接パスとして選択し、ルート(つまり、ファイル:\\ C:\ file.html)から移動しようとします。私が考えることができる唯一の解決策は、ファイルを解析してWebBrowser.Navigate(Path.Combine(pathToDirectory, nameOfHelpFile.html)
を使用することです。これははるかに非効率的であるようです。
おかげで