WebViewControlNewWindowRequestedEventArgs.NewWindow 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个新的 WebViewControl
作为来自请求 WebViewControl
内部的window.open
脚本调用的目标。 目标 Web 视图中的内容始终被视为跨源到开放 Web 视图中的内容,反之亦然,并受跨域限制的约束。 WebViewControl
属性中NewWindow
提供的 必须是新的,在与打开器 Web 视图相同的进程中运行,并且无法导航。 NewWindow
设置 属性优先于 Handled
属性。 如果 NewWindow
设置了 ,则使用提供的 WebViewControl
。 如果未 NewWindow
设置 ,则 Handled
检查 以确定新窗口请求的行为。
public:
property IWebViewControl ^ NewWindow { IWebViewControl ^ get(); void set(IWebViewControl ^ value); };
IWebViewControl NewWindow();
void NewWindow(IWebViewControl value);
public IWebViewControl NewWindow { get; set; }
var iWebViewControl = webViewControlNewWindowRequestedEventArgs.newWindow;
webViewControlNewWindowRequestedEventArgs.newWindow = iWebViewControl;
Public Property NewWindow As IWebViewControl
属性值
Windows 要求
设备系列 |
Windows 10, version 1809 (在 10.0.17763.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v7.0 中引入)
|
示例
以下 C# 示例演示了允许 window.open 创建返回到 opener 的新 WebViewControl:
WebViewControlProcess wvProc;
WebViewControl webView;
void OnWebViewControlNewWindowRequested(WebViewControl sender, WebViewControlNewWindowRequestedEventArgs args)
{
if (args.Uri.Domain == “mydomain.com”)
{
using deferral = args.GetDeferral();
args.NewWindow = await wvProc.CreateWebViewControlAsync(
parentWindow, targetWebViewBounds);
deferral.Complete();
}
else
{
// Prevent WebView from launching in the default browser.
args.Handled = true;
}
}
String htmlContent = “<html><script>window.open(‘http://mydomain.com’)</script><body></body></html>”;
webView.NavigateToString(htmlContent);