| 
1 | 1 | // Copyright (c) Files Community  | 
2 | 2 | // Licensed under the MIT License.  | 
3 | 3 | 
 
  | 
 | 4 | +using Microsoft.Extensions.Logging;  | 
4 | 5 | using Microsoft.UI.Xaml;  | 
5 | 6 | using Microsoft.UI.Xaml.Controls;  | 
6 | 7 | using Microsoft.UI.Xaml.Navigation;  | 
@@ -83,27 +84,34 @@ protected override void OnNavigatedFrom(NavigationEventArgs e)  | 
83 | 84 | 
 
  | 
84 | 85 | 		private async void BlogPostWebView_CoreWebView2Initialized(WebView2 sender, CoreWebView2InitializedEventArgs args)  | 
85 | 86 | 		{  | 
86 |  | -			sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme;  | 
87 |  | -			sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;  | 
88 |  | -			sender.CoreWebView2.Settings.AreDevToolsEnabled = false;  | 
89 |  | -			sender.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = false;  | 
90 |  | -			sender.CoreWebView2.Settings.IsSwipeNavigationEnabled = false;  | 
91 |  | - | 
92 |  | -			var script = @"  | 
93 |  | -				document.addEventListener('click', function(event) {  | 
94 |  | -					var target = event.target;  | 
95 |  | -					while (target && target.tagName !== 'A') {  | 
96 |  | -						target = target.parentElement;  | 
97 |  | -					}  | 
98 |  | -					if (target && target.href) {  | 
99 |  | -						event.preventDefault();  | 
100 |  | -						window.chrome.webview.postMessage(target.href);  | 
101 |  | -					}  | 
102 |  | -				});  | 
103 |  | -			";  | 
104 |  | - | 
105 |  | -			await sender.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(script);  | 
106 |  | -			sender.WebMessageReceived += WebView_WebMessageReceived;  | 
 | 87 | +			try  | 
 | 88 | +			{  | 
 | 89 | +				sender.CoreWebView2.Profile.PreferredColorScheme = (CoreWebView2PreferredColorScheme)RootAppElement.RequestedTheme;  | 
 | 90 | +				sender.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;  | 
 | 91 | +				sender.CoreWebView2.Settings.AreDevToolsEnabled = false;  | 
 | 92 | +				sender.CoreWebView2.Settings.AreBrowserAcceleratorKeysEnabled = false;  | 
 | 93 | +				sender.CoreWebView2.Settings.IsSwipeNavigationEnabled = false;  | 
 | 94 | + | 
 | 95 | +				var script = @"  | 
 | 96 | +					document.addEventListener('click', function(event) {  | 
 | 97 | +						var target = event.target;  | 
 | 98 | +						while (target && target.tagName !== 'A') {  | 
 | 99 | +							target = target.parentElement;  | 
 | 100 | +						}  | 
 | 101 | +						if (target && target.href) {  | 
 | 102 | +							event.preventDefault();  | 
 | 103 | +							window.chrome.webview.postMessage(target.href);  | 
 | 104 | +						}  | 
 | 105 | +					});  | 
 | 106 | +				";  | 
 | 107 | + | 
 | 108 | +				await sender.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync(script);  | 
 | 109 | +				sender.WebMessageReceived += WebView_WebMessageReceived;  | 
 | 110 | +			}  | 
 | 111 | +			catch (Exception ex)  | 
 | 112 | +			{  | 
 | 113 | +				App.Logger.LogWarning(ex, ex.Message);  | 
 | 114 | +			}  | 
107 | 115 | 		}  | 
108 | 116 | 
 
  | 
109 | 117 | 		private async void WebView_WebMessageReceived(WebView2 sender, CoreWebView2WebMessageReceivedEventArgs args)  | 
 | 
0 commit comments