[Windows phone ]Web Browse介紹與應用

本篇將講Web Browse介紹與應用,想知道如何在自己做的APP上開網頁不會再跳出APP而另開瀏覽器嗎? 使用Web Browse讓您輕鬆達成~!

說明


  Web Browse可以讓App提供網頁的功能,像是網頁瀏覽或者是資料下載的能力,亦可以瀏覽本機端檔案或遠端的資料,Web Browse瀏覽的方式使用超連結及URL位址,同時也可以檢視任何像是Excel或是Word文件,都可以在Web Browse中開啟及檢視。

 

常用的屬性方法與事件

名稱 描述
Document 屬性 取得物件,以對目前 Web 網頁的 HTML 文件物件模型 (DOM) 提供 Managed 存取。
DocumentCompleted 事件 當 Web 網頁結束載入時發生。
DocumentText 屬性 取得或設定目前 Web 網頁的 HTML 內容。
DocumentTitle 屬性 取得目前 Web 網頁的標題。
GoBack 方法 巡覽至記錄中的上一頁。
GoForward 方法 巡覽至記錄的下一頁
Navigate 方法 巡覽至指定的 URL。
ObjectForScripting 屬性 取得或設定物件,Web 網頁指令碼可以用來與應用程式通訊。
Print 方法 列印目前的 Web 網頁。
Refresh 方法 重新載入目前的 Web 網頁。
Stop 方法 中止目前的巡覽,並停止動態網頁項目 (例如音效和動畫)。
Url 屬性 取得或設定目前 Web 網頁的 URL。設定這個屬性,會將控制項尋覽至新的URL。
Navigating 事件 在巡覽開始之前發生,讓動作可以取消。

以上資料來源:http://msdn.microsoft.com/zh-tw/library/w290k23d(v=vs.110).aspx

 

使用這個控制項的好處是控制項是布置在APP上,因此不會造成APP進入靜止狀態模式,還可以顯示特定的HTML字串

 

上機範例-顯示遠端網頁


Step1

建立一個專案

1

Step2

在MainPage.xaml裡面加入一個webBrowser控制項與button按鈕

webBrowser命名為webBrowser1

button命名為button1

webbrowser


 
        
            
            
        

        
        
            
            
        

        
        
            

Step3

在MainPage.xaml.cs裡面加入button1.click事件

webbrowser1


private void button1_Click(object sender, RoutedEventArgs e)
        {
            //透過Navigate方法連結到特定頁面
            webBrowser1.Navigate(new Uri("http://yahoo.com.tw"));
        }

測試結果


點選button後,在webBrowser裡面就會讀取到指定的網頁

上機範例-顯示特定HTML字串


Step1

建立專案,如上一個範例Step1

Step2

如上一個範例的Step2

webbrowserHTML1


 
        
            
            
        

        
        
            
            
        

        
        
            

Step3

在MainPage.xaml.cs裡面加入button1.click事件,並加入編碼code,反則會產生亂碼,這是因為控制項內建編碼並不支援中文的關西

webbrowserHTML


 private void button1_Click(object sender, RoutedEventArgs e)
        {
            //把中文字進行編碼轉換
            string HTML = ""+EncodeUnicode("中文字測試")+"";
            webBrowser1.NavigateToString(HTML);
        }
        //編碼
        private string EncodeUnicode(string strText)
        {
            string txtUnicode = "";
            foreach (char value in strText)
            {
                int decValue = int.Parse(string.Format("{0:x4}", (int)value),
                    System.Globalization.NumberStyles.HexNumber);
                txtUnicode = txtUnicode + "&#" + decValue.ToString() + ";";
            }
            return txtUnicode;
        }

測試結果


webbrowserHTML2

WebBrowserHTMLTest.rar