2011-11-04 2 views
3

Windows Phone에서 누군가가 클릭 한 도메인을 확인하고 특정 도메인이 아닌 경우 IE를 대신 열어 볼 수 있습니까? 사용자가 http://m.google.com/app/plus 또는 하위 페이지에있는 경우WebBrowser 컨트롤 도메인 검사

기본적으로는 webbrowser 제어를 유지하지만, Internet Explorer에서 열어이 http://m.google.com에 여전히 바람직 경우에도 사이트 떨어져 무언가가, 있다면.

저는 C#으로 글을 쓰고 있습니다. 구체적으로 말씀 드리 자면, 저는이 사실에 아주 능숙합니다.

편집 : 또한,로드 막대를 WebBrowser 컨트롤에 추가 할 수 있습니까?

답변

3

은 가정 당신의 WebBrowser XAML 다음과 같은 :

<phone:WebBrowser Name="browser_Post" Navigating="OnBrowserPostNavigating">

이벤트 핸들러는 다음과 같이 보일 것이다 :

private void OnBrowserPostNavigating(object sender, NavigatingEventArgs e) 
{   
    // meaning the link is external, we want to open this outside of our app 
    if (!e.Uri.AbsoluteUri.Contains("m.google.com/app/plus")) 
    { 
     e.Cancel = true; 
     WebBrowserTask task = new WebBrowserTask(); 
     task.URL = e.Uri.AbsoluteUri; 
     task.Show(); 
    } 
} 

e.Uri.AbsoluteUri이 링크의 절대 URI 클릭되는 것, 즉, , http://www.google.com. String.Contains()은 사용자 도메인을 확인하는 간단한 방법이지만 충분해야합니다.

WebBrowserTask은 외부 URL을 사용하여 IE를 열 것이며 Google+ 로컬 인 다른 모든 링크는 로컬 WebBrowser 내에 있습니다.

편집
실제로 여기에 거의 동일한 질문이있다 :
want to open Link in external browser of WP7

+0

나는 당신이 필요로하는 가정'e.Cancel = TRUE ' –

+0

이 약속 같은데, 내가 때를 시도해야합니다 나는 일하러 간다! – JacobTheDev

+0

방금 ​​시도했거나 포함되어 있다면 할 수있는 방법이 있습니까? 나는 else와 뭔가를 할 수 있다고 생각한다. 흠 ... 지금은 google.com으로 설정했습니다. – JacobTheDev