最近博主在做項(xiàng)目的時(shí)候,遇到了一個(gè)問題艺骂。就是用UIWebView調(diào)用API來刷新的時(shí)候诸老,會(huì)把界面刷沒了。這可愁死博主了钳恕,然后各種谷歌别伏,結(jié)果可想而知。一個(gè)星期過去了忧额,還是沒什么頭緒厘肮。只是得到了以下問題:
1.一刷新界面,在shouldStartLoadWithRequest方法里打印URL睦番,第一次跳轉(zhuǎn)URL是:www.et.com/#!/key类茂,第二次跳轉(zhuǎn)變成www.et.com/#!/。
2.然后在safari調(diào)試時(shí)托嚣,刷新會(huì)出現(xiàn)一個(gè)找不到css文件的警告巩检。
3.web端的路由重定向代碼去掉,就能刷新成功示启。
在多次與web端的童鞋溝通以后兢哭,了解到了他使用的是Vue來做路由跳轉(zhuǎn)的(vue路由的使用)。這就讓博主想到了夫嗓,是不是被重定向了迟螺。然后web端的童鞋告訴博主,有一個(gè)url是沒有做重定向跳轉(zhuǎn)的舍咖,博主試了試矩父,發(fā)現(xiàn)不是重定向問題。
最后在一次偶然的打斷點(diǎn)中(博主是用safari來調(diào)試的)排霉,博主發(fā)現(xiàn)當(dāng)webView刷新時(shí)窍株,vue沒有走beforeEach:(在路由切換開始時(shí)調(diào)用)方法 ,T_T 但是為什么不走beforeEach方法博主與web端的童鞋還沒弄明白(因?yàn)榉偶倭耍瑆eb端的童鞋回家過年了,所以問題先留著夹姥。。辙诞。)
PS:現(xiàn)在樓主的備用解決方法是重新把webView再init一遍辙售。
最后博主放棄了UIWebView,改用了WKWebView飞涂,WKWebView就沒有刷新問題旦部。想了解的點(diǎn)這里。
這個(gè)問題就是web端同學(xué)使用vue重定向時(shí),在beforeEach方法里調(diào)用數(shù)據(jù),再刷新數(shù)據(jù),但是使用UIWebView調(diào)用API來刷新時(shí),不會(huì)在走beforeEach這個(gè)方法,界面刷新時(shí),沒有數(shù)據(jù)而造成的,猜測(cè)可能是vue與內(nèi)置瀏覽器的兼容問題.最后博主放棄了UIWebView ,改用WKWebView