我有一些C#代码显示了如何在WebView 2中启用单点登录。
TEdgeBrowser没有公开C#代码使用的任何属性。特别是在Winapi.WebView2单元中为ICoreWebView 2 EnvironmentOptions定义的接口没有在其中定义用于获取或设置AllowSingleSignOnUsingOSPrimaryAccount的函数。我认为这是因为它是在2020年5月7日从WebView2.tlb创建的,而该属性是在9月10日发布的版本中添加的。2020.
我有什么选择?我是否需要从最新的tlb创建自己的WebView 2版本,然后复制Vcl.Edge单元中的代码,以获得启用了SSO选项的组件?
我不需要一个可视组件-我很乐意用代码创建浏览器。
C#程式码为:
private async void Form1_Load(object sender, EventArgs e)
{
var browser = new WebView2();
var options = new CoreWebView2EnvironmentOptions();
options.AllowSingleSignOnUsingOSPrimaryAccount = true;
var environment = await CoreWebView2Environment.CreateAsync(options: options).ConfigureAwait(false);
await browser.EnsureCoreWebView2Async(environment).ConfigureAwait(false);
Invoke((MethodInvoker)(() =>
{
browser.Dock = DockStyle.Fill;
this.Controls.Add(browser);
browser.Source = new Uri(https://example.com);
}));
}
1条答案
按热度按时间q3qa4bjr1#
WebView4Delphi完全更新到了最新的WebView2版本,它支持所有的WebView2接口。
您只需在GlobalWebView2Loader.StartWebView2调用之前添加以下行:
这些演示使用主单元的初始化部分来创建GlobalWebView2Loader并设置属性。如果您使用SimpleBrowser演示作为应用程序的模板,则必须在此处添加上一行。
GlobalWebView2Loader中的该属性用于共享同一个ICoreWebView2Environment的所有浏览器,这是默认行为。
如果您需要创建一个具有独立ICoreWebView2Environment的浏览器,则必须在TWVBrowserBase.CreateBrowser调用之前设置此属性:
MyWVBrowser将是TWVBrowser的一个示例。