我想使用它的NavigateToString方法將HTML內容加載到WPF WebBrowser對象中。 HTML內容包含相對路徑(*)。如何設置WebBrowser的基本URL,以便所有圖像,JavaScript等都能正確加載? (*)我編輯了一個現有的未解答的問題,使其更加自我解釋。我不知道最初的OP的應用程序;但我正在獲取HTML,修改它(將高亮應用於文本的各個部分);然後嘗試在.NET 4中使用WPF WebBrowser顯示它。也許有一種方法可能會向字符串添加HTML前綴?在WP7中使用帶有圖像引用的webBrowser.NavigatetoString()
3
A
回答
3
頁面的基本URL需要修改。這告訴瀏覽器頁面應該顯示的位置。首先,這可以通過使用HTML 基地標籤來執行。這可以快速插入到HTML的開頭,大多數瀏覽器可能會讀取它,儘管它不是正確的HTML。相反,它應該插入標題部分(標題標記)。
下面是一些不雅的C#代碼,這是否:
/// <summary>
/// Insert a base href tag into the header part of the HTML
/// If a head tag cannot be found, it is simply inserted at the beginning
/// </summary>
/// <param name="input_html">The HTML to process</param>
/// <param name="url">URL for the base href tag</param>
/// <returns>The processed HTML</returns>
static private string InsertBaseRef(string input_html, string url)
{
string base_tag = "<base href=\"" + url + "\" />"; // target=\"" + url + "\" />";
Regex ItemRegex = new Regex(@"<head\s*>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Match match = ItemRegex.Match(input_html);
if (match.Success)
{
// only replace the first match
return ItemRegex.Replace(input_html, match.Value + base_tag, 1);
}
// not found, so insert the base tag at the beginning
return base_tag + input_html;
}
注意,對於沒有任何屬性的簡單頭標籤這隻搜索。帶有頭部的HTML具有屬性的標記以及完全缺少頭部的HTML標記將在搜索中失敗,並且基準標記將被簡單地插入到開頭。是的,代碼應該理想地檢查具有屬性定義的頭標記。
上述代碼將在(Win7 + .NET 4 WPF)系統上正確提取相對URL圖像。但是它仍然存在JavaScript問題。我無法找到適當的解決方案來爲所有引用的JS文件設置JavaScript基本URL。但是,對於我的桌面應用程序,只需要抑制JS錯誤就足夠了(我正在顯示已修改/註釋的靜態頁面)。這種抑制可以使用answer here執行。由於這直接與底層瀏覽器COM對象直接對話,我懷疑它會與WP7一起工作。
相關問題
- 1. 使用帶有縮略圖的引導傳送帶的圖像庫
- 2. 引用在Java中使用的圖像
- 3. 帶背景圖像的WP7 WebBrowser控件?
- 4. WP7 - 帶圖像的POST表單
- 5. 帶有無效背景圖像名稱的WP7圖塊通知
- 6. 使用Wicket在CSS中引用圖像
- 7. 禁用WP7中的圖像緩存
- 8. wp7使用畫布繪製圖像?
- 9. 使用WP7縮放圖像Silverlight,沒有應用平滑算法
- 10. 使用XML-Package在R中檢索帶有XPath的圖像源
- 11. 在Dreamweaver CS5中使用帶有Jquery插件的圖像映射
- 12. 在ListView中使用帶有文本和圖像的MatrixCursor和SimpleCursorAdapter
- 13. 在Apps腳本中使用帶有HtmlService的base64編碼圖像
- 14. 如何使用WP7 Silverlight中的像素?
- 15. 引導傳送帶圖像不適用
- 16. wp7中圖像的轉換
- 17. 在PhoneGap中引用圖像
- 18. 使用帶有循環引用的Parcelable
- 19. 嘗試在WP7中保存圖像時,WriteableBitmap上的空引用指針錯誤
- 20. 在Python中的列表,帶有引用
- 21. 在WP8上使用iframe視頻(Youtube)的WebBrowser.NavigateToString()
- 22. 帶引導的圖像庫,具有較大圖像
- 23. WP7在整個顯示中的圖像
- 24. 在WP7中的圖像上寫文字
- 25. 如何在R中使用帶有stringi包的反向引用
- 26. 如何使用JSON WebService保存數據庫中的圖像WP7
- 27. 使用帶有多個索引的PHP的獅身人面像
- 28. 非圖像引導傳送帶的使用
- 29. 無法下載URL中帶有空格的圖像使用cURL
- 30. 如何在帶有圖像的列表框上使用Data Virtualization?
winwaed這可能在Windows Phone 8中嗎? – shefintk