关于UIWebView刷新问题

最近博主在做项目的时候,遇到了一个问题。就是用UIWebView调用API来刷新的时候,会把界面刷没了。这可愁死博主了,然后各种谷歌,结果可想而知。一个星期过去了,还是没什么头绪。只是得到了以下问题:

1.一刷新界面,在shouldStartLoadWithRequest方法里打印URL,第一次跳转URL是:www.et.com/#!/key,第二次跳转变成www.et.com/#!/。

2.然后在safari调试时,刷新会出现一个找不到css文件的警告。

3.web端的路由重定向代码去掉,就能刷新成功。

在多次与web端的童鞋沟通以后,了解到了他使用的是Vue来做路由跳转的(vue路由的使用)。这就让博主想到了,是不是被重定向了。然后web端的童鞋告诉博主,有一个url是没有做重定向跳转的,博主试了试,发现不是重定向问题。

最后在一次偶然的打断点中(博主是用safari来调试的),博主发现当webView刷新时,vue没有走beforeEach:(在路由切换开始时调用)方法 ,T_T 但是为什么不走beforeEach方法博主与web端的童鞋还没弄明白(因为放假了,web端的童鞋回家过年了,所以问题先留着。。。)

PS:现在楼主的备用解决方法是重新把webView再init一遍。

safari调试界面

最后博主放弃了UIWebView,改用了WKWebView,WKWebView就没有刷新问题。想了解的点这里

这个问题就是web端同学使用vue重定向时,在beforeEach方法里调用数据,再刷新数据,但是使用UIWebView调用API来刷新时,不会在走beforeEach这个方法,界面刷新时,没有数据而造成的,猜测可能是vue与内置浏览器的兼容问题.最后博主放弃了UIWebView ,改用WKWebView

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,898评论 25 709
  • 此刻白无量从知风道御剑飞行已许久,她从起剑时便频频回头,最后直到长河化为银线,漫山的蓝色知风草变成一个蓝点,她...
    袁丁58阅读 426评论 0 0
  • 想带你去看日出,分享我的所有笑容,画下所有心动的瞬间。 想要达到这些目标只需要,邀请你一起旅行。我曾说,如果我两袖...
    杨婼_阅读 307评论 0 0
  • 胆小者勿出海 这神秘的大海——它的深处到今天为止人们还无法到达。 ——儒勒·凡尔纳 《海底两万里》 我生在大西北,...
    写情书的九林阅读 200评论 0 0