刘的个人专题

webView 并行调用两个location.href,则会导

2018-12-05  本文已影响0人  辉546

应用场景:在前端调用了并行的location.href时,客户端却只接受到一个url。

在排查过程中发现,如果两个location.href被并行调用,则会导致前一个失效。

推测结论为:因为是并行调用导致A被B替换,类似我们在浏览器中先输入一个网址然后又速度输入另一个网址

推测原因:location.href的执行方式为串行,只有当前一个完成才能执行后续的location.href。而并行调用导致了location.href地址替换问题。

浏览器 ——>A  迅速输入 ——>B   此时浏览器的地址为B

故而客户端只相应后一个href的方法。

解决方式目前有两种方案:
一:在第二个执行的href方法时,加上setTimeout,合理的时间范围是100~300ms。

二:不采用location.href,改变调用方式,采用JS的交互方法,前端调用JS方法,而不采用Url形式的调用。

上一篇 下一篇

猜你喜欢

热点阅读