ios UIWebView内跳转,html5的 token失效解决办法

这几天在做一个webview,然后涉及到一个webview容器中加载html5页面,然后点击html5页面中的链接,跳转到下一个html5页面去,这两个html5页面的数据加载是用token关联的。

第一个html5页面,在第一次加载的时候token是ok的,然后页面数据也都是正常的。

第二个html5页面在加载的时候老是找不到token,最后发觉应该是webview的一个bug。


解决办法:用这个第三方开源库UIWebView-TS_JavaScriptContext


就是在一个网页内部点击链接跳转到另一个网页的时候,第二个页面需要交互,这时JSContext环境已经变化,但是- (void)viewDidLoad仅仅加载一次,跳转的时候,没有再次注入交互对象,这样就会导致第二个页面没法进行交互。

解决办法:

其实网上已有很好的解决办法,就是在每次创建JSContext环境的时候,我们都去注入此交互对象这样就解决了上面的问题。具体解决办法参考了此开源库UIWebView-TS_JavaScriptContext。关于这个开源库,我说一点在- (void)webView:(id)unused didCreateJavaScriptContext:(JSContext*)ctx forFrame:(id<TSWebFrame>)frame此方法中使用到代理方法parentFrame可能会被认为是私有API而遭拒,在Issues中有人提到。


此处可以修改parentFrame 为其他的名字就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值