天天看點

Windows Phone 7 WebBrowser 控件亂碼和相對位址解析 WebBrowser手動解析相對位址

NavigateToString中文亂碼問題

使用代碼:

private static string ConvertExtendedAscii(string html)

        {

            StringBuilder sb = new StringBuilder();

            foreach (var c in html)

            {

                int charInt = Convert.ToInt32(c);

                if (charInt > 127)

                    sb.AppendFormat("&#{0};", charInt);

                else

                    sb.Append(c);

            }

            return sb.ToString();

        }

将中文轉碼後再指派即可。

WebBrowser手動解析相對位址

手動解析WEBBrowser内容,主要難度之一就是解析相對位址了。

解析代碼:

if(e.Uri.ToString().StartsWith("about:"))

            {

                //解析相對位址

                Uri url = new Uri(txtURL.Text);

                Uri newUrl = new Uri(url, e.Uri.ToString().Substring(6));

                StartGetUrlInfo(newUrl.ToString());

            }

txtURL.Text是目前的位址。

newUrl 就是真是位址