protected override async void OnNavigatedTo(NavigationEventArgs e) { Messenger.Default.Send(new GlobalHelper.SetHeaderTextMessageType { PageName = "Repository" }); ReleaseBodyTextPanel.Visibility = Visibility.Collapsed; await ViewModel.Load(e.Parameter); MainPivot.SelectedItem = MainPivot.Items[0]; ReadmeLoadingRing.IsActive = true; if (ViewModel.Repository != null) { String ReadmeHTML = await RepositoryUtility.GetReadmeHTMLForRepository(ViewModel.Repository.Id); if (!string.IsNullOrWhiteSpace(ReadmeHTML)) { ReadmeWebView.NavigateToString("<html><head> <link rel =\"stylesheet\" href =\"ms-appx-web:///Assets/css/github-markdown.css\" type =\"text/css\" media =\"screen\" /> </head> <body> " + ReadmeHTML + " </body></html> "); } else { ViewModel.NoReadme = true; ReadmeLoadingRing.IsActive = false; } } }
private async void WebView_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args) { /* We are running a Javascript function that will make all links in the WebView open in an external browser * instead of within the WebView itself. */ await ReadmeWebView.InvokeScriptAsync("eval", new[] { @"(function() { var body = document.getElementsByTagName('body')[0]; var hyperlinks = document.getElementsByTagName('a'); for(var i = 0; i < hyperlinks.length; i++) { hyperlinks[i].setAttribute('target', '_blank'); } })()" }); ReadmeLoadingRing.IsActive = false; }
protected async override void OnNavigatedTo(NavigationEventArgs e) { Messenger.Default.Send(new GlobalHelper.SetHeaderTextMessageType { PageName = "Repository" }); await ViewModel.Load(e.Parameter); FindName("LanguageText"); FindName("DescriptionText"); FindName("calendarSymbol"); FindName("createdText"); FindName("createdDateText"); FindName("editSymbol"); FindName("editText"); FindName("updatedDateText"); FindName("issueSymbol"); FindName("issueText"); FindName("issueCount"); FindName("sizeSymbol"); FindName("sizeText"); FindName("sizeCount"); FindName("sizeUnitText"); ReadmeWebView.Visibility = Visibility.Collapsed; if (SettingsService.Get <bool>(SettingsKeys.ShowReadme)) { ReadmeLoadingRing.IsActive = true; // Manually set the user agent to get the full desktop site String userAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop) like Gecko"; HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri(ViewModel.Repository.HtmlUrl)); httpRequestMessage.Headers.Append("User-Agent", userAgent); ReadmeWebView.NavigateWithHttpRequestMessage(httpRequestMessage); } else { ReadmeLoadingRing.IsActive = false; } }