对Win8.1和WP8.1在UniversalAPP中WebView的研究

7 篇文章 0 订阅
7 篇文章 0 订阅

Win8.1和WP8.1在UniversalAPP中WebView的研究

1.      正常载入一个页面的回调过程

1.1ContentLoading->DOMContentLoaded->NavigationCompleted->LoadCompleted

1.2从ContentLoading开始载入Body的资源。

1.3如果html里面有frame,则流程变为:

ContentLoading->FrameNavigationStarting->DOMContentLoaded->FrameContentLoading-> Frame NavigationCompleted->NavigationCompleted->LoadCompleted

2.Navigate方式有3种

2.1NavigateToLocalStreamUri(Uri,IUriToStreamResolver)

2.1.1该方法能够接管webview所需要访问的资源,但是http开头的资源,是接管不到的。只要实现IUriToStreamResolver可以用代码对资源进行控制。

2.1.2 支持Package和Local的文件获取

2.2.Navigate(Uri)

   目前其使用的Uri支持appx-web,appdata协议,也可以直接是url。

 

 2.2.1 appx-web协议

         从程序包里面读资源文件,html文件中的资源的路径可以是绝对路径,也可以是相对路径,webview可以识别。

 

2.2.2 appdata协议

             ①从应用本地目录中获取,格式为”ms-appdata:///local/+目录”。

②该协议下如果用2.2的接口,则必须要将html需要的资源和html文件放在同一个文件夹下,html的资源路径不管是不是”/”开头,webview都认为是相对路径

③如果html中要的本地文件,如果在对应目录中不存在,wp上会直接跳出应用,大概过1分钟左右崩溃,且捕获不到异常。Win上没有这现象。

④不支持js的window.exteranl.notify功能


2.3 NavigateToString()

 

2.4  NavigateWithHttpRequestMessage(HttpRequestMessage)


2.5  性能

主要对2.1和2.2做了性能测试,取一篇离线文章做跳转100次(即1.中的过程100次),

单位(ms)

Win8(我的mac)

Wp(630)

2.1方式

102931

68200

2.2方式

108729

49118

 

3.  wp下按回退键直接跳出应用的解决方案

Page下的按键回调访问不到,需要在页面上添加

Windows.Phone.UI.Input.HardwareButtons.BackPressed事件的回调,从而进行回退的控制。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值