初来这里,不知此地可有大神,快初来受死,所有分数奉上
小弟先来膜拜下,有几个phone7程序在 phone8上运行时的兼容性问题,一直没有解决,只好到这里求助大神了
主要还是webbrowser的问题,
webbrowser里加载了一个页面,页面里面有一个input框,我通过捕捉这个框的focus和blur事件来做一些操作,这在phone7上没有问题,但是到phone8,点击input触发了focus,弹起了键盘,但是如果按返回键,键盘消失,却没有触发blur,我也尝试不用blur直接捕捉back事件,但是键盘弹起的时候,frame和page的所有back事件都无法捕捉,至此搞不定了
然后是webbrowser的白屏问题,因为我设置了frame的background是白色,所以也可能是黑屏,但主要是卡死的状态
事情是这样的,我在usercontrol里添加了一个webbrowser,然后再page的xmal页面中将其添加进来,然后在page load的时候,给usercontrol一个url,让它加载页面,在phone7上运行良好,但是phone8上有1%的情况页面跳转的时候(我添加了一个翻转效果,跳转的过程有点长),会出现停在翻页中间,整个屏幕全白卡死在那里,我在调试状态下也遇到过,但是并没有异常,点击全部中断,就是那个暂停键,发现页面停在浏览器控件调用InvokeScript那句(另外我调用js的时候也会捕捉到802201这个异常,好像是js 内部的错误引起的,不知跟这有没有关系),但这不是重点,我仔细看了整个页面,发现这个page的load事件已经执行完毕,但是usercontrol完全没有加载,所有的usercontrol中的变量点开都是“本机框架位于调用堆栈之上,因此无法计算表达式的值”红色的错误,至此,完全没有头绪
还有我发现phone7frame的back事件中,如果设置了e.cancel=true,则此事件就不会冒泡到page中,但是phone8中,则完全无效,所有的backkey事件都会执行,不禁吐槽,不是说好完全能在phone8上跑么,还是遇到一堆问题,我就不说win键切换在phone8上导致的一系列问题了
PS:920上还有一个奇怪的情况,就是长按back键多切换几次以后,整个手机的messagebox框完全挂了,全弹不出来了,不仅是我的,其他程序也完全失灵,按说一个应用程序应该不会导致一个系统出现这样的问题吧,这是微软的bug? windows phone webbrowser
[解决办法]
原因是WP7与WP8的浏览器不是一个版本。