private void WebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { mProgressBar.Visibility = Visibility.Visible; Log.d(args.Uri); if (args.Uri.ToString().Contains("facebook.com")) { args.Cancel = true; return; } if (!skip && args.Uri.ToString().Contains("/users/auth/osm/callback")) { skip = true; args.Cancel = true; Task.Run(() => { Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() => { HttpRequestMessage request = new HttpRequestMessage(); request.RequestUri = args.Uri; request.Headers.Add("Install-ID", Prefs.InstallId); // use a custom user agent to change the behavior of the website request.Headers.Add("User-Agent", WebViewUtils.CreateAppsUserAgent()); mWebView.NavigateWithHttpRequestMessage(request); }).Forget(); }); } }
private void loginWeb_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri.AbsoluteUri.Contains("#")) { if (args.Uri.Fragment.StartsWith("#access_token=")) { loginWeb.Stop(); string token = args.Uri.Fragment.Replace("#access_token=", string.Empty); ApplicationData.Current.LocalSettings.Values[SharedStrings.AccessTokenKeyValue] = token; SharedStrings.CurrentToken = token; if (!fromMain) { if (!Frame.Navigate(typeof(MainPage))) { } } else { if (Frame.CanGoBack) { Frame.GoBack(); } } } } }
private async void MainWebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { try { // is coming from click on page if (_isFromNavigationButton == false && args.Uri != null) { if (ViewModel.ParseLinksPages) { args.Cancel = true; await ViewModel.LoadCurrentPageAsync(args.Uri.ToString()); NavigateToCurrentPage(false); } else { await ViewModel.LoadCurrentPageAsync(args.Uri.ToString()); } } _isFromNavigationButton = false; } catch (Exception ex) { // TODO: handle it properly } }
private void Web_OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { // WebView native object must be inserted in the OnNavigationStarting event handler KeyHandler winRTObject = new KeyHandler(); // Expose the native WinRT object on the page's global object Web.AddWebAllowedObject("NotifyApp", winRTObject); }
/// <summary> /// Set the /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void LoginWebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri.ToString().StartsWith(String.Format("{0}oauth/authorize/",coinbase["url"]))) //This passes after the user has signed in, and the web view is navigated to JSON for the app to use. { string authCode = args.Uri.ToString().Split('/').Last(); Login(authCode); //Use the Authorization Code to grab an access key, and set up the user's wallet. } }
/// <summary> /// Compares the URI to the attempted WebView navigation URI. /// If they are different, cancels the WebView navigation, opens the URI /// in the browser, and returns true; otherwise, returns false. /// </summary> public static async Task<bool> LaunchBrowserForNonMatchingUriAsync( this Uri uriToMatch, WebViewNavigationStartingEventArgs e) { if (e.Uri.WithoutScheme() == uriToMatch.WithoutScheme()) return false; e.Cancel = true; await Launcher.LaunchUriAsync(e.Uri); return true; }
private async void OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri != null) { args.Cancel = true; await Launcher.LaunchUriAsync(args.Uri); } }
private async void webView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { // Opens links in the Internet Explorer and not in the webView. if (args.Uri != null && args.Uri.AbsoluteUri.StartsWith("http")) { args.Cancel = true; await Launcher.LaunchUriAsync(new Uri(args.Uri.AbsoluteUri)); } }
private void OnNavigationStarting(object sender, WebViewNavigationStartingEventArgs e) { if (Command?.CanExecute(null) == true) { var args = new Models.NavigationArgs { Uri = e.Uri.AbsoluteUri }; Command.Execute(args); e.Cancel = args.Cancel; } }
void webView1_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { string url = ""; try { url = args.Uri.ToString(); } finally { pageIsLoading = true; } }
private void webView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri.Host == _redirectUri.Host) { txtResponse.Text = args.Uri.ToString(); webView.Visibility = Visibility.Collapsed; _redirectUri = null; } }
private async void OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri != null) { args.Cancel = true; var options = new LauncherOptions() { TreatAsUntrusted = false }; await Windows.System.Launcher.LaunchUriAsync(args.Uri, options); } }
private void OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { var webView = sender as WebView; if (webView != null && args?.Uri != null) { var uri = args.Uri; args.Cancel = true; Launcher.LaunchUriAsync(uri); } }
protected void WebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri.AbsoluteUri != arguments?.Url) { if ((arguments?.ShowExternalLinkInBrowser ?? false)) { Launcher.LaunchUriAsync(args.Uri).Forget(); args.Cancel = true; return; } } mProgressBar.Visibility = Visibility.Visible; }
private void HandleNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { progressBar.Visibility = Visibility.Visible; progressBar.IsIndeterminate = true; var uri = args.Uri; UnityPlayer.AppCallbacks.Instance.InvokeOnAppThread(() => { if (_onStart != null) _onStart(uri, _state); }, false); }
private async void webBrowser_Navigating(object sender, WebViewNavigationStartingEventArgs e) { if (e.Uri != null) { if (e.Uri.OriginalString.EndsWith(".jpg") || e.Uri.OriginalString.EndsWith(".png")) { e.Cancel = true; } else if (e.Uri.OriginalString != "post.html") { e.Cancel = true; await Launcher.LaunchUriAsync(e.Uri); } } }
private async void WebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri.AbsoluteUri.ToString().Contains("code")) { string code = args.Uri.AbsoluteUri.ToString(); code = code.Substring(code.IndexOf("=") + 1); await GetAccessToken(code); } else if (args.Uri.AbsoluteUri.ToString().Contains("access_token")) { string WeicoAccessToken = args.Uri.AbsoluteUri.ToString(); WeicoAccessToken = WeicoAccessToken.Substring(WeicoAccessToken.IndexOf("=") + 1, 32); App.WeicoAccessToken = WeicoAccessToken; Frame.GoBack(); } }
private void WebViewOnNavigationStarting(WebView webView, WebViewNavigationStartingEventArgs args) { const string portalApprovalMarker = "/oauth2/approval"; Uri uri = args.Uri; if (webView == null || uri == null || _tcs == null || string.IsNullOrEmpty(uri.AbsoluteUri)) return; bool isRedirected = uri.AbsoluteUri.StartsWith(_callbackUrl) || _callbackUrl.Contains(portalApprovalMarker) && uri.AbsoluteUri.Contains(portalApprovalMarker); if (isRedirected) { var tcs = _tcs; _tcs = null; if (_popup != null) _popup.IsOpen = false; tcs.SetResult(DecodeParameters(uri)); } }
// Check if the web browser is redirected to the callback url void webBrowser_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { var webBrowser = sender as WebView; Uri uri = args.Uri; if (webBrowser == null || uri == null || _tcs == null) return; if (!String.IsNullOrEmpty(uri.AbsoluteUri) && uri.AbsoluteUri.StartsWith(_callbackUrl)) { // The web browser is redirected to the callbackUrl ==> close the window, decode the parameters returned as // fragments or query, and return these parameters as result of the Task var tcs = _tcs; _tcs = null; if (_popup != null) _popup.IsOpen = false; tcs.SetResult(DecodeParameters(uri)); } }
// Check if the web view is redirected to the callback url void WebViewOnNavigationStarting(WebView webView, WebViewNavigationStartingEventArgs args) { const string portalApprovalMarker = "/oauth2/approval"; Uri uri = args.Uri; if (webView == null || uri == null || _tcs == null || string.IsNullOrEmpty(uri.AbsoluteUri)) return; bool isRedirected = uri.AbsoluteUri.StartsWith(_callbackUrl) || _callbackUrl.Contains(portalApprovalMarker) && uri.AbsoluteUri.Contains(portalApprovalMarker); // Portal OAuth workflow with org defined at runtime --> the redirect uri can change if (isRedirected) { // The web view is redirected to the callbackUrl ==> close the window, decode the parameters returned as // fragments or query, and return these parameters as result of the Task var tcs = _tcs; _tcs = null; if (_popup != null) _popup.IsOpen = false; tcs.SetResult(DecodeParameters(uri)); } }
private void WebView_OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs e) { if (config.WhiteList != null && config.Mode == DefenseMode.WhiteListOnly) { var root = SuperCacheManager.ResolveTargetUri(e.Uri.ToString()).Authority; if (config.WhiteList.Count(u => string.Compare(root, u, StringComparison.CurrentCultureIgnoreCase) == 0) == 0) { e.Cancel = true; Navigate(new Uri("http://www.catuhe.com/msdn/notAllowedSite/")); return; } } var args = new NavigatingEventArgs(e.Uri.ToString()); if (SuperCacheManager.OnNavigating(args)) { e.Cancel = true; Navigate(args.TargetUri); } }
private async void AuthView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { // do something to capture the page //System.Diagnostics.Debug.WriteLine("Navigating to " + args.Uri); if (args.Uri == LoginURI) { // do nothing return; } else if (args.Uri.ToString().Contains("access_token")) { // access token found! JsonParser.authToken = args.Uri.ToString().Split(new[] { "access_token=" }, StringSplitOptions.None)[1]; System.Diagnostics.Debug.WriteLine("Found Access Token: " + JsonParser.authToken); // get user ID JsonObject data = await JsonParser.getJsonResponse("/users/me", null); JsonParser.userID = data.GetNamedObject("response").GetNamedString("id"); System.Diagnostics.Debug.WriteLine("Your ID: " + JsonParser.userID); rootFrame.Navigate(typeof(GroupmeAnalytics.Views.ViewShell)); Window.Current.Content = rootFrame; return; } }
private void TopicWebView_OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { if (args.Uri != null && args.Uri.AbsoluteUri.StartsWith(Strings.LocalUriPrefix)) { args.Cancel = true; if (args.Uri.AbsoluteUri.Contains("quote")) { var decoder = new WwwFormUrlDecoder(args.Uri.Query); var postId = decoder.FirstOrDefault(x => x.Name == "postId")?.Value; if (!string.IsNullOrEmpty(postId)) Loc.Topic.ShowEditorCommand.Execute(Loc.Topic.CurrentTopic.TopicNewPostUriForm + $"&numrep={postId}"); } else { Debug.WriteLine("WW " + args.Uri.Query + "-- " + args.Uri + " -- " + args.Uri.AbsoluteUri); string param = args.Uri.Query.Replace("?", ""); if (Loc.Main.ContextMessageCommand.CanExecute(param)) Loc.Main.ContextMessageCommand.Execute(param); } } }
private async void Web_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { var split = args.Uri.OriginalString.Split('?'); if (split.Length > 1 && split[0] == "http://quarr.us/") { var userId = await TwitterAuthenticator.GetUserId(split[1].Split('&')[0].Split('=')[1], split[1].Split('&')[1].Split('=')[1]); UserState.ActiveAccount = await Api.Do.AccountTwitter(long.Parse(userId)); if (UserState.ActiveAccount == null) { Frame.Navigate(typeof(CreatePage), new CreatePage.AutofillInfo { SocialId = long.Parse(userId), Authenticator = Authenticator.Twitter }); } else { Frame.Navigate(typeof(MainPage), UserState.CurrentId); } } }
private void NavigationStarting(WebViewNavigationStartingEventArgs args) { string authCode = string.Empty; string argsUri = args.Uri.AbsoluteUri; if (argsUri.IndexOfCaseInsensitive(_authenticationService.RedirectUri) == 0) { string codeKey = "code="; int codeStartIndex = argsUri.IndexOfCaseInsensitive(codeKey); if (codeStartIndex > 0) { args.Cancel = true; codeStartIndex += codeKey.Length; var segments = argsUri.Substring(codeStartIndex).Split('&'); authCode = segments[0]; IsLoading = false; InitializeApp(authCode); } } }
private async void ArticleWebView_OnNavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { try { if (args.Uri != null) { var uri = args.Uri.ToString(); var paramIndex = uri.IndexOf('?'); if (paramIndex != -1) uri = uri.Substring(0, paramIndex); args.Cancel = true; if (Regex.IsMatch(uri, "anime\\/\\d") || (Settings.SelectedApiType != ApiType.Hummingbird && Regex.IsMatch(uri, "manga\\/\\d"))) { var link = uri.Substring(8).Split('/'); if (link[3] == "") { if (Settings.ArticlesLaunchExternalLinks) { await Launcher.LaunchUriAsync(args.Uri); } return; } var id = int.Parse(link[2]); if (Settings.SelectedApiType == ApiType.Hummingbird) //id switch id = await new AnimeDetailsHummingbirdQuery(id).GetHummingbirdId(); ViewModelLocator.GeneralMain.Navigate(PageIndex.PageAnimeDetails, new AnimeDetailsPageNavigationArgs(id, link[3], null, null) { AnimeMode = link[1] == "anime" }); } else if (uri.Contains("/profile/")) { var vm = ViewModelLocator.MalArticles; ViewModelLocator.NavMgr.RegisterBackNav(PageIndex.PageArticles,new MalArticlesPageNavigationArgs { NewsId = vm.CurrentNews, WorkMode = vm.PrevWorkMode.Value}); ViewModelLocator.GeneralMain.Navigate(PageIndex.PageProfile,new ProfilePageNavigationArgs {TargetUser = uri.Split('/').Last()}); } else if (Settings.ArticlesLaunchExternalLinks) { await Launcher.LaunchUriAsync(args.Uri); } } } catch (Exception) { args.Cancel = true; } }
private void BrowserOnNavigating(WebView sender, WebViewNavigationStartingEventArgs args) { var url = args.Uri.AbsoluteUri; if (url.StartsWith(REDIRECT_URL) && !_processedResult) { var result = url.Substring(url.IndexOf('#') + 1); _processedResult = true; VKSDK.ProcessLoginResult(result, _isValidating, _validationCallback); this.IsShown = false; } }
void wbMain_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { }
private void InnerWebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { }
private void Scroll_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { }
private async void myWebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { Debug.WriteLine("Navigation Starting"); if (args.Uri != null) { myWebView.Stop(); await Windows.System.Launcher.LaunchUriAsync(args.Uri); myWebView.NavigateToString(currentHTML); //myWebView.InvokeScript("eval", "document.execCommand('Stop');"); } }
/// <summary> /// Event to indicate webview is starting a navigation /// </summary> /// <param name="sender"></param> /// <param name="args"></param> void webView1_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args) { string url = ""; try { url = args.Uri.ToString(); } finally { address.Text = url; appendLog(String.Format("Starting navigation to: \"{0}\".\n", url)); pageIsLoading = true; } }
private async void WebViewNavigationStarting(WebViewNavigationStartingEventArgs args) { var uri = args.Uri; if (uri == null) { // initial page loading from `NavigateToString`-method. return; } if (uri.AbsoluteUri.StartsWith("about::")) { // Wikilink var link = uri.ToString().Substring(7); Logger.Info("Wikilink clicked."); Logger.ConditionalDebug($"Wikilink clicked: {link}"); ViewModel.WikilinkClicked.Execute(Path.ofLink(link)); args.Cancel = true; return; } if (uri.AbsoluteUri.Contains("about:")) { // Local link Logger.Info("Local link clicked."); return; } if (uri.AbsoluteUri.StartsWith("ms-local-stream:")) { if (uri.Equals(_uri)) { // Load the index.html page Logger.Info("Load Wiki page"); return; } else if (uri.LocalPath.StartsWith("/data/:")) { // Wikilink var link = uri.AbsolutePath.Substring(7); Logger.Info("Wikilink clicked."); Logger.ConditionalDebug($"Wikilink clicked: {link}"); ViewModel.WikilinkClicked.Execute(Path.ofLink(link)); args.Cancel = true; return; } else { // Local file link var dataFolder = await App.Current.Config.GetDataFolderAsync(); var dataPath = dataFolder.Path; var localPath = uri.AbsolutePath.Substring(6); var a = System.IO.Path.Combine(dataPath, localPath); var file = System.IO.Path.GetFullPath(a); Windows.System.Launcher.LaunchFileAsync(await StorageFile.GetFileFromPathAsync(file)); return; } } // Normal Link Logger.Info("Normal link clicked."); Logger.ConditionalDebug($"Normal link clicked: {uri}"); args.Cancel = true; ViewModel.LinkClicked.Execute(uri); return; }