• 【转】Win10/UWP新特性系列—Web


    Internet Explorer

    Internet Explorer 在Windows 10 升级为Edge模式,是一种交互性和兼容性都很强的新型浏览器,该浏览器相比以前的版本更新了超过2000个操作性问题,支持20个新平台特性来促进交互性和兼容性。详情: http://blogs.msdn.com/b/ie/archive/2014/11/11/living-on-the-edge-our-next-step-in-interoperability.aspx

    WebView Edge mode Browsing

    所有Windows 10 系统下的WebView控件使用了相同的浏览器渲染引擎,提供了 统一的html标准。
    

    WebView.UnsupportedUriSchemeIdentified event

    新增的WebView.UnsupportedUriSchemeldentified事件能够让WebView捕获到不受支持的uri地址,让我们开发者提供处理这些不受支持的URI方案。
    
    XAML:
    
    C#:
    
    private void OnUnsupportedUriSchemeIdentified (WebView sender, WebViewUnsupportedUriSchemeIdentifiedEventArgs e) 
    { 
    		// Block all URIs from invoking other apps except the mailto: protocol. 
    		if (e.Uri.Scheme != "mailto") 
    		{ 
        		e.Handled= true; 
    		} 
    } 
    

    WebView.NewWindowsRequested event

    WebView.NewWindowsRequested事件能在WebView捕获脚本请求一个新的浏览器窗口动作。默认情况下当用户点击一个href或者按钮调用Windows.Open时,会启动默认浏览器来打开请求的导航,现在开发者可以自己捕获该动作,自行处理业务逻辑。
    
    例子中,捕获该事件后创建一个新的WebView控件来显示所请求的内容:
    
    XAML:
    
    C#:
    

    private void OnNewWindowRequested (WebView sender, WebViewNewWindowRequestedEventArgs e)
    {
    if (e.Referrer.Host == "www.xxxxxx.com")
    {
    var newWebView = new WebView();
    newWebView.Navigate(e.Uri);
    myGrid.Children.Add(newWebView);
    e.Handled = true;
    }
    }

    WebView.PermissionRequested event

    WebView支持最新的Html5技术,有些Html5 Api的调用是需要用户授权的,比如获取地理位置Api,而WebView.PermissionRequested事件能捕捉要求用户许可授权的动作。
    

    WebView.UnviewableContentIdentified event

    WebView.UnviewableContentIdentified 事件可以捕获到WebView尝试下载不受支持的文件时发生,当捕捉到该事件后你可以自行处理此事件 并使用Launcher类将文件重定向到浏览器或者其他应用程序。
    
    例子:
    
    C#:
    

    void webView1_UnviewableContentIdentified(WebView sender,
    WebViewUnviewableContentIdentifiedEventArgs args)
    {
    appendLog(String.Format("Content for "{0}" cannot be loaded into webview. " +
    "Invoking the default launcher instead. ", args.Uri.ToString()));

    // We turn around and hand the Uri to the 
    // system launcher to launch the default handler for it.
    Windows.Foundation.IAsyncOperation<bool> b = 
        Windows.System.Launcher.LaunchUriAsync(args.Uri);
    pageIsLoading = false;
    

    }

    WebView.AddWebAllowedObject method

    该方法可以在WebView中添加一个Windows RunTime对象到html Document对象中。该对象必须集成IAgileObject接口并附加AllowForWeb特性。
    
    例子:
    
    C#:
    

    private void navigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
    {
    if (args.Uri.Host == "www.contoso.com")
    {
    myWebView.AddWebAllowedObject("name", new MyClass());
    }
    }

    WebView.ClearTemporaryWebDataAync method

    该方法能清除WebView中保存的用户会话状态和缓存数据,来防止另一个用户访问到以前的数据。例如,当用户注销登录时,你可以使用该方法清理WebView控件该用户会话的任何信息。 
    

    来自:http://www.wangchenran.com/uwp新技术-web.html

  • 相关阅读:
    directUI
    PyLucene测试成功
    MFC笔记(1)CPaintDC, CClientDC
    sprintf缓冲区溢出
    2.5 攻击示例:对Microsoft C++编译器的攻击 ZZ
    C++笔记(3)类中与类外的运算符重载
    C++笔记(2)public,private,protected关键字
    RTSP协议
    使用虚函数,减少累赘的if/else/switch
    C++笔记(4)成员函数定义在类内与类外
  • 原文地址:https://www.cnblogs.com/wgscd/p/5283820.html
Copyright © 2020-2023  润新知