我目前正在嘗試使用.NET WebBrowser來顯示我正在編寫的應用程序的幫助信息(本地存儲在html文件中),但是我遇到了兩個問題,都與超鏈接有關。VB.NET HTML超鏈接
首先,我有一個搜索功能,它以file:\\\C:\...
的格式返回正確的URL,我可以將其複製並粘貼到瀏覽器中,然後它將在那裏導航。然而,點擊控件本身的鏈接本身並沒有任何作用。
其次,HTML文件都包含其他HTML文件的相對路徑。這些當然不起作用,因爲我剛剛結束了file:\\\C:\help.html
這給了我一個'網頁不可用'。但我想不到解決HTML文件並將路徑鏈接到鏈接前面的目錄的方法。
編輯:只是爲了澄清,在第一個問題我動態構建搜索結果頁面,用戶鍵入。 HTML中包含類似這樣的幾個結果(是的,它是未完成的,我只是顯示你的鏈接部分):
<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,並用Chrome,IE和Firefox打開它可以正常工作。
在第二個問題中,我爲不同部分提供了不同的幫助文件,每個部分都包含相對於其他幾個部分的鏈接。 VB將它們選爲直接路徑,並嘗試從根目錄開始,即file:\\ C:\ file.html。我能想到的唯一解決方案是解析文件並使用WebBrowser.Navigate(Path.Combine(pathToDirectory, nameOfHelpFile.html)
,這似乎比應該更有效率。
感謝