如何禁用登录表单邮箱自动提示及修复密码字段多查看图标异常?
WebView2 两个未解决问题求助
问题1:禁用邮箱自动提示
需要了解如何配置以禁用登录页面邮箱输入框的自动提示功能,截图显示登录页面的邮箱输入框存在自动提示下拉列表。
问题2:密码字段多查看图标异常
- 第一个图标:点击输入框外部(失焦)后再聚焦输入框,该图标会被禁用;
- 第二个图标:仅能使用一次,点击显示密码后图标即被禁用,需失焦再聚焦输入框才能恢复可用状态,截图显示密码输入框有两个查看密码的图标。
使用的包版本
Microsoft.Web.WebView2 - 1.0.1293.44
已尝试的配置代码
public class WinFormsWebView : IBrowser { private readonly Func<Form> _formFactory; private BrowserOptions _options; public WinFormsWebView(Func<Form> formFactory) { _formFactory = formFactory; } public WinFormsWebView(string title = "Login", int width = 1024, int height = 768) : this(() => new Form { Name = "Login", Text = title, Width = width, Height = height }) { } public async Task<BrowserResult> InvokeAsync(BrowserOptions options, CancellationToken token = default) { _options = options; using (var form = _formFactory.Invoke()) { using (var webView = new WebView2() { Dock = DockStyle.Fill }) { var signal = new SemaphoreSlim(0, 1); var browserResult = new BrowserResult { ResultType = BrowserResultType.UserCancel }; form.FormClosed += (o, e) => { signal.Release(); }; webView.NavigationStarting += (s, e) => { if (IsBrowserNavigatingToRedirectUri(new Uri(e.Uri))) { e.Cancel = true; browserResult = new BrowserResult() { ResultType = BrowserResultType.Success, Response = new Uri(e.Uri).AbsoluteUri }; signal.Release(); form.Close(); } }; try { form.Controls.Add(webView); webView.Show(); form.Show(); var webView2Environment = await CoreWebView2Environment.CreateAsync(null, @"C:\temp"); // Initialization await webView.EnsureCoreWebView2Async(webView2Environment); // Delete existing Cookies so previous logins won't remembered webView.CoreWebView2.CookieManager.DeleteAllCookies(); webView.CoreWebView2.Settings.IsPasswordAutosaveEnabled = false; webView.CoreWebView2.Settings.IsGeneralAutofillEnabled = false; // Navigate webView.CoreWebView2.Navigate(_options.StartUrl); await signal.WaitAsync(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { form.Hide(); webView.Hide(); } return browserResult; } } } private bool IsBrowserNavigatingToRedirectUri(Uri uri) { return uri.AbsoluteUri.StartsWith(_options?.EndUrl); } }
内容的提问来源于stack exchange,提问作者Vladimir21
相关产品推荐
相关产品推荐

